エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
[Perl]猿でもわかるクロージャ超入門 - DQNEO起業日記
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
[Perl]猿でもわかるクロージャ超入門 - DQNEO起業日記
[JavaScript] 猿でもわかるクロージャ超入門という記事が好評だったので、今回はPerl編です。 上記のJa... [JavaScript] 猿でもわかるクロージャ超入門という記事が好評だったので、今回はPerl編です。 上記のJavaScript版の記事を読んだという前提で解説させていただきます。 問題 呼び出すたびに、1,2,3,...を返すような関数f( )を定義せよ。 f(); // 1 f(); // 2 f(); // 3 クロージャ その1 JS版のクロージャに似せて書くとこうなります。 #!/usr/bin/perl use strict; use warnings; sub outer { my $i = 1; return sub { print "$i\n"; $i++; }; } my $f = outer(); $f->(); # 1 $f->(); # 2 $f->(); # 3 JS版とそっくりですね~。 関数のリファレンスを使っているので、呼び出し方法が$f->()のよう