タグ

programmingとclosureに関するsyo-yuのブックマーク (4)

  • JavaScript でブロックスコープを実現する: Days on the Moon

    JavaScript には基的にブロックスコープというものが存在しない。どうしてもブロックスコープを扱いたいときは function 式を使ったりする。 var a = 10; { var a = 20; print(a); // 20 } print(a); // 20 var a = 10; (function () { var a = 20; print(a); // 20 })(); print(a); // 10 だがやはりブロックスコープがあったほうが便利ということで JavaScript 1.7 では let 式、let 文、let 宣言が導入される。 var a = 10; let (a = 20) { print(a); // 20 } print(a); // 10 しかしこれでは対応するブラウザが Firefox 2 以降などに限られる。ところが、with 文とオブ

  • GaucheによるSchemeプログラミング

    No contributions on Sunday, June 19, 2022 No contributions on Monday, June 20, 2022 No contributions on Tuesday, June 21, 2022 No contributions on Wednesday, June 22, 2022 No contributions on Thursday, June 23, 2022 No contributions on Friday, June 24, 2022 No contributions on Saturday, June 25, 2022 No contributions on Sunday, June 26, 2022 No contributions on Monday, June 27, 2022 No contributio

    GaucheによるSchemeプログラミング
  • 結局、クロージャって - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「クロージャ、それなに?」ってエントリーで、「『クロージャ』って言葉の意味がわからない」と言ったのですが、lethevertさんからのトラックバックやshiroさんのコメントで多少は状況が見えてきました。 sumiiさんの 解決しかかったところで余計なことをいって混乱に拍車をかけてみる。 で確かに混乱はしたものの、さらにlethevertさんの解説が続いたので、自分なりの目星はついた気がします。 最近の傾向 ラムダ式(に相当するもの)やデータのように扱えるコードブロックをクロージャと呼ぶのが最近の傾向みたいですね。しかも、プログラミング言語の機能/能力として捉えることが多いようです。「ナントカ言語はクロージャが使える」みたいな用法で。 多くの人がそういう意味で使うなら、「来は…」みたいなこと言ってもしょうがないので、別にいいや。 「ラムダ式+環境」というデータ構造 僕自身は、クロージャ=

    結局、クロージャって - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係

    はじめに 2006年8月、Javaの次期仕様(JDK7)にクロージャを入れる案*が出され話題になりました。クロージャは関数型言語では30年以上の歴史を持ち、プログラミングにおける基的な道具となっています。最近はPerlRubyPythonなどの軽量言語(Lightweight Language)にも取り込まれ、それと知らずに使っているユーザーも増えているのではないでしょうか。 一方、手続き型言語の世界では、完全なクロージャはなじみが薄いようです。C言語からC++へと発展してきた手続き型言語のメインストリームでは、 ガーベジコレクションを持たず、ローカル変数をスタックに置くことを基とする言語のため、クロージャとの相性が悪かった オブジェクト指向を採り入れることでクロージャの代用とできた といったことが理由でしょう。 実際、クロージャとオブジェクト指向プログラミング言語には、メカニズム

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係
  • 1