FC2ブログ
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Perlの無名シリーズ
Perlで、
無名配列、無名ハッシュ、無名関数の作り方を紹介するよ。

無名配列は、
 [ ]  
で作れるよ。
[1,2,3] こんな感じ。

無名ハッシュは、
 { } 
で作れるよ。
{'a'=>1, 'b'=>2} こんな感じ。

無名関数は、
 sub { } 
で作れるよ。
sub { print "Hello World" . "\n"} こんな感じ。


無名シリーズは、リファレンスが返ってくるんだよ。
だから、次のソースの$cは同じ意味だよ。

無名配列:
$c = [1,2,3];

# ↑ 同じ ↓

@a = (1,2,3);
$c = \@a;


無名ハッシュ:
$c = {'a'=>1, 'b'=>2};

# ↑ 同じ ↓

%a = (a=>1, b=>2);
$c = \%a;


無名関数:
$c = sub { print "Hello World" . "\n" };

# ↑ 同じ ↓

sub a { print "Hello World" . "\n" };
$c = \&a;



無名配列の使いどころとしては、いろいろあるけど、こんな感じだよ。
sub a {
 $hoge = shift;
 $foo  = shift;

 for(@$foo){
  print "$hoge" . " $_" . "\n";
 }
}

a("Hello", [1,2,3]);


無名ハッシュの使いどころとしては、いろいろあるけど、こんな感じだよ。
sub a {
 $hoge = shift;

 print "$hoge->{'foo'}" . "\n";
 print "$hoge->{'bar'}" . "\n";

}

a({'foo'=>1, 'bar'=>2});


無名関数の使いどころとしては、いろいろあるけど、こんな感じだよ。
sub a {
 $hoge = shift;
 $foo  = shift;

 for(1..3){
  $foo->($hoge);
 }
}

a("Hello", sub{ $bar=shift; print "$bar" . "\n"; });

上記の例は、use strict; 使ってないけど、皆はちゃんと use strict; 使わないとダメだよぉ。
スポンサーサイト
コメントを投稿する
Name:
URL:
Comment:

秘密:管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事にトラックバックする(FC2ブログユーザー)
ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

10 | 2018/11 | 12
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

ブロとも申請フォーム

この人とブロともになる

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。