開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の3章(リストと配列)、3.11(練習問題)2を解いてみる。
その他参考書籍
2.
コード(TextWrangler)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my @names = qw(fred betty barney dino wilma pebbles bamm-bamm); print "数のリストを(1行に1個ずつ入力\n"; print map{$names[$_-1]."\n"} <STDIN>;
入出力結果(Terminal)
$ ./sample.pl 数のリストを(1行に1個ずつ入力 1 2 4 2 fred betty dino betty $
ちなみにJavaScriptの場合。
コード(TextWrangler)
var names = ["fred","betty","barney","dino","wilma","pebbles","bamm-bamm"]; var numbers = []; var str, number; while(true){ str = prompt("正の整数(1から7)を入力(空文字で終了)",""); if(/^\s*$/.test(str)) break; if(/^[^1-7]$/.test(str)){ alert("入力値を確認してください"); continue; } numbers.push(parseInt(str)); } var result = ""; for(var i = 0; i < numbers.length; i++){ result += numbers[i] + ": " + names[numbers[i] - 1] + "\n"; } $('#pre0').text(result);
pythonの場合。
sample.py
コード(TextWrangler)
#!/usr/bin/env python3.3 #-*- coding:utf-8 -*- import re names = ['fred','betty','barney','dino','wilma','pebbles','bamm-bamm'] numbers = [] pattern = re.compile(r"^\s*$") pattern_num = re.compile(r"^[^1-7]$") print("数値(正の整数)を入力(1行に1つずつ、空文字で終了)") while True: str = input() if re.match(pattern, str): break if re.match(pattern_num, str): print("数値を入力してください。") continue numbers.append(int(str)) for x in numbers: print("{0}: {1}".format(x, names[x-1]))
入出力結果(Terminal)
$ ./sample.py 数値(正の整数)を入力(1行に1つずつ、空文字で終了) 1 2 4 2 1: fred 2: betty 4: dino 2: betty $
0 コメント:
コメントを投稿