2012年11月16日金曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の2章(スカラーデータ)、2.12(練習問題)4を解いてみる。

その他参考書籍

4.

コード(TextWrangler)

sample.pl

#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';

while(1){
  print "数値を2つ入力(1行に1つずつ、空行で終了)\n";
  chomp(my $lhs = <STDIN>);
  last if $lhs =~ /\A\s*\Z/;
  chomp(my $rhs = <STDIN>);
  print "$lhs * $rhs = " . $lhs * $rhs . "\n";
}

入出力結果(Terminal)

$ ./sample.pl
数値を2つ入力(1行に1つずつ、空行で終了)
1
2
1 * 2 = 2
数値を2つ入力(1行に1つずつ、空行で終了)
2
3
2 * 3 = 6
数値を2つ入力(1行に1つずつ、空行で終了)
3
4
3 * 4 = 12
数値を2つ入力(1行に1つずつ、空行で終了)
4
5
4 * 5 = 20
数値を2つ入力(1行に1つずつ、空行で終了)
5
6
5 * 6 = 30
数値を2つ入力(1行に1つずつ、空行で終了)
6
7
6 * 7 = 42
数値を2つ入力(1行に1つずつ、空行で終了)
7
8
7 * 8 = 56
数値を2つ入力(1行に1つずつ、空行で終了)
8
9
8 * 9 = 72
数値を2つ入力(1行に1つずつ、空行で終了)
9
0
9 * 0 = 0
数値を2つ入力(1行に1つずつ、空行で終了)

$

ちなみにJavaScriptの場合。

コード(TextWrangler)

var lhs = prompt("数値を2つ入力\n1つ目","");
var rhs = prompt("2つ目","");
var result = lhs + " * " + rhs + " = " + (lhs * rhs);
$('#pre0').text(result);


pythonの場合。

sample.py

コード(TextWrangler)

#!/usr/bin/env python3.3
#-*- coding:utf-8 -*-

import re

pattern = re.compile("^\s*$")
while True:
  print("数値を2つ入力(1行に1つずつ、空文字で終了)")
  lhs = input()
  if re.match(pattern, lhs): break
  rhs = input()
  print("{0} * {1} = {2}".format(lhs, rhs, float(lhs) * float(rhs)))

入出力結果(Terminal)

$ ./sample.py
数値を2つ入力(1行に1つずつ、空文字で終了)
1
2
1 * 2 = 2.0
数値を2つ入力(1行に1つずつ、空文字で終了)
2
3
2 * 3 = 6.0
数値を2つ入力(1行に1つずつ、空文字で終了)
3
4
3 * 4 = 12.0
数値を2つ入力(1行に1つずつ、空文字で終了)
4
5
4 * 5 = 20.0
数値を2つ入力(1行に1つずつ、空文字で終了)
5
6
5 * 6 = 30.0
数値を2つ入力(1行に1つずつ、空文字で終了)
6
7
6 * 7 = 42.0
数値を2つ入力(1行に1つずつ、空文字で終了)
7
8
7 * 8 = 56.0
数値を2つ入力(1行に1つずつ、空文字で終了)
8
9
8 * 9 = 72.0
数値を2つ入力(1行に1つずつ、空文字で終了)
9
0
9 * 0 = 0.0
数値を2つ入力(1行に1つずつ、空文字で終了)

$

0 コメント:

コメントを投稿