2011年5月25日水曜日

開発環境

  • Mac OS X Snow Leopard (OS)
  • TextWrangler(Text Editor) (いずれはBBEditを入手したい!)
  • Script言語:Perl

『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の4章(サブルーチン), 4.12(練習問題)、5を解いてみる。

 

5.

やり方の1つ。(「やり方は何通りもある」(TIMTOWTDI(There Is More Than One Way To Do It.)))

コード(TextWrangler)

#!/usr/bin/perl

# この記述がないと上手く動かなかった
use 5.010;

use strict;
use warnings;

# 人の名前を渡すと、その人に挨拶するサブルーチン
# 挨拶の際には、それまでに挨拶した全員の名前を知らせる
sub greet{
  # 問題4からの修正箇所
  # スカラーではなくリストに
  # それまでに挨拶した全員の名前
  state @people;
  
  # 渡された人名を受け取る
  my $person = shift;
  print "Hi $person! ";
  
  # それまでに挨拶した人がいるか確認
  if( @people ){
    print "I've seen: @people\n";
  } else {
    print "Your are the first one here!\n";
  }
  
  # 渡された人名をそれまで挨拶した全員のリストに追加
  push @people, $person;
}

greet( "Fred" );
greet( "Barney" );
greet( "Wilma" );
greet( "betty" );

入出力結果(Ternimal)

0 コメント:

コメントを投稿