即時関数の構文 即時関数はスコープを汚染せずに新たなスコープを作成するための唯一の手段 即時関数が使われるケース まとめ JavaScriptには「即時関数」という構文があります。即時関数は関数を定義すると同時に実行するための構文で、この即時関数を使ってコードを書いたことのある方も多いのではないかと思います。 JavaScriptに慣れている方にとっては「何を今さら」といった書き出しかもしれませんが、私はこの即時関数を初めて知った時、その必要性がイマイチ見出せませんでした。それは、「関数を定義と同時に実行するのは分かるけど、別に普通に関数を定義して、その関数を呼び出せばいいじゃん」って思ったからです。 確かに、一度しか使われないような関数をいちいち名前付きで定義してそれを呼び出すというコードは冗長的かもしれません。そのような場合は即時関数を使った方がよりスマートなコードになるでしょう。です
以前書いた次の記事を読み返していて思ったんだけど、 目から鱗が落ちた JavaScript の即時関数パターンの使い方 - present C# でも無名関数作れるから即時関数パターンできるよね。 using System; using System.Diagnostics; namespace ImmediateFunctionSample { class Program { static readonly Func<int> GetNextId = new Func<Func<int>>(() => { var nextId = 1; return () => { return nextId++; }; })(); static readonly string OSName = new Func<string>(() => { var version = Environment.OSV
C++ の if や while, for をカンマでデコってちょっぴり関数型言語風!?小悪魔カワイイコーディングで今夏を先取りしちゃお☆ こんにちわ、みなさんが好きなプログラミング言語といえば C++ ですね。ぼくはまだまだ修行が足りないので C++ 愛は東京ドーム1個分くらいしかないのですが、今日はそんなみなさんのご要望にお応えして大人気の C++ の話を書きます。 C++ は C とは大きく異なり関数の先頭だけでなく、レキシカルスコープ内の好きなところで変数を宣言することができます。スコープの中で必要な時に局所的に変数を宣言できるのでとても便利です。例えば for 文の初期化ステートメントの中で変数を定義して初期化することもできます。 // ANSI-C int i = 0; for ( i = 0; i < 5; ++i ) { } // C++ for ( int i = 0;
Rubyに、Lispの prog1 のような物があるといいなと思っていたけど、begin ~ ensure ~ end が使えるとは! begin 式1 ensure 式2 式3 式n end しかし、かさばり感が満載なので使いづらい。 p [ 式1, 式2, 式3, 式n ][0] って、評価順序は保証されているんだっけ?
突然ですが以下の実行結果を予測してください。ついでに実行結果と照らし合わせてみてください。 % perl -le 'print 3 ** 2' % perl -le 'print (1+2) ** 2' % perl -le 'print (3) ** 2' 見ただけでオチが分かりましたが何か? → 尊敬させてください 予想通りでしたが何か? → 尊敬させてください 何これ分かんないけど自分で調べるからいいや → さようなら 何これ教えろ → 下に進む 実行結果 こうなる。 % perl -le 'print 3 ** 2' 9 % perl -le 'print (1+2) ** 2' 3 % perl -le 'print (3) ** 2' 3 解説 perlは先の3つの例は、それぞれ以下のように解釈・実行する。 % perl -le 'print 3 ** 2'3 ** 2 を行っ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く