開発環境
- 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 コメント:
コメントを投稿