タグ

ラムダ式に関するryouzoのブックマーク (7)

  • 不動点コンビネータを使ってラムダ式で再帰関数を定義する - 映画は中劇

    Javaのラムダ式で再帰関数を書くのはちょっと面倒です。例として、フィボナッチ数列のN番目の項を再帰的に計算する関数(以降フィボナッチ関数)を考えます*1。次のコードはエラーになってしまいます。 IntUnaryOperator fib = n -> n <= 1 ? 1 : fib.applyAsInt(n - 1) + fib.applyAsInt(n - 2); // => エラー: 変数fibは初期化されていない可能性があります 代入演算子の右側、ラムダ式内の変数fibが初期化されていない、としてコンパイルエラーになってしまいました。 これは、ラムダ式においてローカル変数がキャプチャされるタイミングを考えると、仕方のないことです。ラムダ式内で参照されるローカル変数は、「実質的にfinal」な変数として、関数オブジェクト生成時にその値が渡されます。つまり、関数オブジェクトが生成される

    不動点コンビネータを使ってラムダ式で再帰関数を定義する - 映画は中劇
  • ラムダ計算 ‐ 通信用語の基礎知識

    関数を、文字「λ」を使って表記することからこの名がある。 計算機科学や数学など、様々な理論で応用された結果、関数型のプログラミング言語であるLispの基盤となった。 通常の関数は、「f(x)=x+1」のように書かれる。これは数式である。 ラムダ計算の式つまりラムダ式では、この関数fを「λx.x+1」のように書く。これを関数Aとする。 ここで関数に7を代入したf(7)を考えると、ラムダ式では「(λx.x+1)7」と書かれる。 また、引数が関数で、それに7を適用する関数を考えると、ラムダ式では「(λf.f7)」となる。これを関数Bとする。 関数Bに関数Aを適用すれば、「(λf.f7)(λx.x+1)」という式になる。この時、 (λf.f7)(λx.x+1) (λx.x+1)7 7+1 以上の三つの式は同値である。

  • ラムダ計算 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2020年5月) ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。アロンゾ・チャーチとスティーヴン・コール・クリーネによって1930年代に考案された。1936年にチャーチはラムダ計算を用いて一階述語論理の決定可能性問題を(否定的に)解いた。ラムダ計算は「計算可能な関数」とはなにかを定義するために用いられることもある。計算の意味論や型理論な

  • 「Javaの鉱脈」連載開始 | さにあらず

    WEB+DB PRESS の Vol.81 から JVM を中心とした連載を始めましたので是非買って下さい。 2014/6/24 発売です。書店には既に並んでいるかと思います。 これはアマゾンのアフィリエイトリンクですので、踏んだ直後に冷蔵庫等の大型家電を購入して頂けると僕が喜びます。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.81@Gihyo Digital Publishing初回の内容はラムダ式 + RxJava#今回の内容としては Java8 のラムダ式に関する簡単な説明から、ラムダ式を利用してRxJavaを使うとこんなに便利という話を書きました。 記事内で Stream API に関して説明しなかった最大の理由はラムダ式と Stream API に関する適切で妥当な説明については桜庭さんの記事を読めば良いと考

    「Javaの鉱脈」連載開始 | さにあらず
  • ラムダ式とStreamAPI─ウルシステムズ前多氏が語る「Java8に敏感なエンジニアよ来たれ!」 #Java|CodeIQ MAGAZINE

    CodeIQ「ウチに来ない?」で掲載中の「Java8でgrepを作ろう」出題者のウルシステムズ前多氏。実は「ウチに来ない?」に挑戦し、コードでスカウトされたエンジニアだ。 前多氏にはJavaのニューバージョン「Java8」問題の見どころとともに、コード転職の舞台裏も語ってもらった。 by 馬場美由紀 (CodeIQ中の人) 「Java8でgrepを作ろう」出題の意図とは? 「Java8でgrepを作ろう」──CodeIQ「ウチに来ない?」のコーナーに出題されている問題だ。Java8は、今年3月にリリースされたばかりのJavaのニューバージョン。「待ちに待ってたよ」という声も、「え、知らなかった。何が変わったの?」という声も、業界内にはさまざまな感想が飛び交う。JavaはSIの現場でなくてはならない言語ではあるが、今回のバージョンアップには多少の今さら感もぬぐえない。リリースが遅れに遅れたこ

    ラムダ式とStreamAPI─ウルシステムズ前多氏が語る「Java8に敏感なエンジニアよ来たれ!」 #Java|CodeIQ MAGAZINE
  • 社内Java8勉強会 ラムダ式とストリームAPI

    先週Java8がリリースされましたが、さっそく社内での開発でも使うことになりそうです。 というわけで、Java8の目玉機能であるラムダ式とストリームAPIについて、社内勉強会を開催しました。 普段の社内勉強会よりも参加者数が多くて、みんなの関心の高さが伺えますね。

  • あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(前編) - Taste of Tech Topics

    こんにちは! アキバです。 ...T3ブログは初登場かもしれません。ハジメマシテ。 以後お見知りおきを。 いよいよ、2014年3月、Java8が正式公開されますね。 なんと言っても、Java8の注目機能はラムダ式ですので、ラムダ式や型推論に関する記事は多いです。 世の中で「Java8」と検索すると、皆さんいろいろと記事を書かれているので、おおよその事はこれで分かっちゃうような気がします。 が、 実は地味に便利なAPIが追加されていたりすることを最近知りました。 これはあまり触れられていないぞ、と。 というわけで、このエントリでは、あまり日語で情報の無い、しかし地味に便利なAPIに実際に触れてみます。 大事なところなので2回強調して書いてみました。 今回は、前編として4つ紹介します。 ※APIの紹介と言いつつ、コードにはラムダ式を使ったコードが普通に出てるので、ご了承ください。 (むしろ、

    あなたのJavaコードをスッキリさせる、地味に便利な新API 10選(前編) - Taste of Tech Topics
  • 1