開発環境
- 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(練習問題)4を解いてみる。
その他参考書籍
4.
コード(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 (defined $last) {
print "$name is also here!\n";
} else {
print "You are the first one here!\n";
}
$last = $name;
}
greet( "Fred" );
greet( "Barney" );
入出力結果(Terminal)
$ ./sample.pl Hi Fred! You are the first one here! Hi Barney! Barney is also here! $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
def f():
last = None
def g(name):
nonlocal last
print("Hi {0}! ".format(name), end="")
if last:
print("{0} is also here!".format(last))
else:
print("You are the first one here!")
last = name
return g
greet = f()
greet("Fred")
greet("Barney")
入出力結果(Terminal)
$ ./sample.py Hi Fred! You are the first one here! Hi Barney! Fred is also here! $
0 コメント:
コメントを投稿