開発環境
- 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) の5章(ハッシュ)、6.6(練習問題)1を解いてみる。
その他参考書籍
1.
コード(TextWrangler)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my %names = ( 'fred' => 'flintstone', 'barney' => 'rubble', 'wilma' => 'flintstone', ); while(1){ print "firat name: "; chomp(my $name =<STDIN>); last if $name =~ /\A\s*\Z/; if($names{$name}){ print "last name: $names{$name}\n"; } else { print "?\n"; } }
入出力結果(Terminal)
$ ./sample.pl firat name: fred last name: flintstone firat name: barney last name: rubble firat name: wilma last name: flintstone firat name: kamimura ? firat name: $
ちなみにJavaScriptの場合。
コード(TextWrangler)
var names = {'fred':'flintstone', 'barney':'rubble', 'wilma':'flintstone'}; var name = $('#t0').val(); var result = 'last name: '; result += names[name] ? names[name] : '?'; $('#pre0').text(result);
pythonの場合。
sample.py
コード(TextWrangler)
#!/usr/bin/env python3.3 #-*- coding:utf-8 -*- import re pattern = re.compile(r"^\s*$") names = {'fred':'flintstone', 'barney':'rubble', 'wilma':'flintstone'} while True: name = input("first name: ") if re.match(pattern, name): break if name in names: print('last name: {0}'.format(names[name])) else: print('?')
入出力結果(Terminal)
$ ./sample.py first name: fred last name: flintstone first name: barney last name: rubble first name: wilma last name: flintstone first name: kamimura ? first name: $
0 コメント:
コメントを投稿