• ベストアンサー

関数型プログラミングを料理の仕方でたとえてください

kmeeの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

面白そうな問題なので、頭を捻ってみましたが、ダメでした。 そもそも、料理は食材の状態を変化させるもの、関数型プログラミングで言うところの「副作用」ですから、純粋な関数型プログラミングとは相性がよくないでしょう。 自信はありませんが、あえてやるなら 「ゆで卵」関数 入力: 卵 出力: (入力された)卵 副作用: 卵はゆでられて、固まった状態になる といったところではないでしょうか?

otaks
質問者

お礼

「副作用」。聞いたことがあります。 関数型プログラミングでは副作用をおこしてはならないのですね。 となると入力で卵を入れたら、関数の中で「では、こちらがゆであがった卵です」 と入力した卵とは別の卵が出現してそれが返ってくるのかなと思ったりしました。

関連するQ&A

  • 関数型プログラミングの利点は何ですか?

    よく「副作用がない」ということが関数型プログラミングのメリットとして挙げられます。 しかし、手続き型プログラミングにおいても、副作用をもたらすモジュール設計は推奨されないと思います。 具体的に何がいいのかわかりません。

  • オブジェクト指向プログラミング

    一般に、オブジェクト指向プログラミングといわれているプログラミングに関してですが、 「関数・手続きを使用するプログラミング」と 「クラスを作成してプログラミング」というのは おおきな違いがあるのでしょうか? (クラスを作成しなくても関数・手続きで、プログラミングすれば 一緒じゃないかなぁと思っていますので・・・。) どなたか、これに関して、お返事をして頂けたら今後いろいろな面でかなり助かります。

  • プログラミングで関数を呼び出すというのは、定義した

    プログラミングで関数を呼び出すというのは、定義した関数を 使うという意味ですか?

  • プログラミングで関数を渡すとはどういう意味ですか?

    プログラミングで関数を渡すとはどういう意味ですか?

  • 料理の仕方

    料理をレシピでしか作れないです 同じかたいますか?

  • プログラミングのreturnというのは関数なんです

    プログラミングのreturnというのは関数なんですか? この画像で。 戻り値?

    • ベストアンサー
    • PHP
  • 料理出来るとは

    一般的に料理が出来るとはどのくらいのことを言うのでしょうか? レシピを見ないでつくることでしょうか?

  • 「料理ができない」とは?

    「料理ができない」という意味について教えて下さい。 「料理が不得意」とか「料理が嫌い」なら分かるんですが。 私が想像する「料理ができない」の意味 1.揚げ物などの比較的難しい料理が、まだ作れない 2.レシピを見ないと作れない 3.料理を作った事がない。 4.レシピを見ても作れない。(?) 一般的には、上記のどの意味と受け止めればいいでしょうか? 上記以外でも何かあれば教えて下さい。 私の意見としては、 レシピを読んで、書いてある通りに実行すれば 大人であれば大抵の人は料理が作れると思うんですが。 小学生が作ってるのもよく見ます。 特に難しい料理(天ぷら等の揚げ物等)はレシピ通りにやったつもりでも うまくいかない場合もあるかも知れませんが。 自分で「料理が出来ない」と言ってる人は、実は出来ないのではなく 「した事がない」という事なのでは? 自分はすごく間違った事言ってるかも知れませんが…

  • プログラミングで引数は関数に渡すものと認識している

    プログラミングで引数は関数に渡すものと認識しているんですが、関数以外にも渡す場面はありますか?

  • 料理

    自分で料理ができると言える基準。 レシピも見ずに何でも作れるなら料理ができると言えますが、一般的にどの程度の料理が作れると、私は料理ができると言えますか? 難しい料理、簡単な料理に限らず、一つの料理限定で作れるなら、私は料理ができると言えないのか? 逆に、料理は作れないと言える基準。 卵焼きや目玉焼きといった簡単な料理が作れても、それは料理は作れないと言われますか?