タグ

黒魔術に関するsnjxのブックマーク (2)

  • 関数型プログラミングって何、ラムダってなんだよ - Qiita

    java8で追加されたラムダ式とストリーム処理がわからない ラムダとストリームはjava8から新しく導入された機能ですね そして自分自身javaを使ってきてどうしても馴染めない機能でもあります ラムダ式とストリーム処理って実は何かわからない 関数型プログラミングって最近よく聞くけど何みたいな感じで なので、ちょっとしたメモ程度で書いていきます 関数型プログラミングの「関数」ってなに 関数型プログラミングというぐらいなので、関数に関係してるものだと言うのは誰でもわかると思います。 ですが、大切なのは関数が具体的に何かということより その関数が備える性質の方です 関数に必要な性質は、ざっくり言えば 入力に大して出力がただひとつに定まることです。 プログラミングでいうなら入力とは引数で出力とは戻り値です。 なので、javaで言うなら 関数とは引数と戻り値を持つメソッドなんだな程度で理解しておくと

    関数型プログラミングって何、ラムダってなんだよ - Qiita
  • ラムダ式で学ぶクロージャとDSL - Qiita

    はいこんにちはこんにちは! 今日はラムダ式でクロージャとDSLの解説をします。 ガチなラムダ計算の話ではまったくないのでご安心ください。函数型プログラミング言語の話でもないので怯える必要はありません。 それと、実用なDSLそのものではなく、どちらかといふと ふざけたDSL をシンプルに作ってみました! といふ例題なのでその点はご承知おきください。 謎のコピペとDSL まづはこちらのソースコードをお読みください。 # -*- Coding: utf-8 -*- scripter = ->(*args){->{puts args.join("\n")}} title = ->(text){"『#{text}』\n"} paragraph = ->(*args){args.join("\n")+"\n"} chara = ->(name){ ->(text){"#{name}「#{text}」"

    ラムダ式で学ぶクロージャとDSL - Qiita
  • 1