開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の4章(サブルーチン)の4.12(練習問題)5を解いてみる。
その他参考書籍
5.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use 5.016; use utf8; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; sub greet { state @last; my $name = shift; print "Hi $name! "; if (@last) { print "I've seen: @last\n"; } else { print "You are the first one here!\n"; } push @last, $name; } greet( "Fred" ); greet( "Barney" ); greet( "Wilma" ); greet( "Betty" );
入出力結果(Terminal)
$ ./sample.pl Hi Fred! You are the first one here! Hi Barney! I've seen: Fred Hi Wilma! I've seen: Fred Barney Hi Betty! I've seen: Fred Barney Wilma $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- def f(): last = [] def g(name): nonlocal last print("Hi {0}! ".format(name), end="") if last: print("I've seen: {0}".format(" ".join(last))) else: print("You are the first one here!") last.append(name) return g greet = f() greet("Fred") greet("Barney") greet("Wilma") greet("Betty")
入出力結果(Terminal)
$ ./sample.py Hi Fred! You are the first one here! Hi Barney! I've seen: Fred Hi Wilma! I've seen: Fred Barney Hi Betty! I've seen: Fred Barney Wilma $
0 コメント:
コメントを投稿