- クロージャって何がいいの? [転載禁止]©2ch.net
157 :デフォルトの名無しさん[sage]:2014/11/20(木) 00:19:03.39 ID:wJ3BgpRF - >>154
>ここで言ってるwithは例外が起きた時にリソースを解放する機能を持ったもの。 わざわざ with という構文を追加して言語の意味論を複雑にしなくても、 もし汎用的な概念であるクロージャがあれば、同じ事を実現できるってことだよ もし Python にもクロージャがあるなら、他の言語達と同様に with 構文を使わなくてもリソースの自動解放を簡潔に表現できるハズだけど、 手続き型言語の Python では無理だろうね それとも、書けるかな?
|
- クロージャって何がいいの? [転載禁止]©2ch.net
159 :デフォルトの名無しさん[sage]:2014/11/20(木) 00:29:37.23 ID:wJ3BgpRF - >>158
>それを実行する関数つくれば、 もし Python が「世間一般のクロージャの要件(>>104)」を満たしていれば、 「関数をつくらなくても」クロージャだけで簡潔に書けるはず つまり「関数をつくらなければ書けない」ということは、 Python が「世間一般のクロージャの要件」を満たしていないことを認めたってこと
|
- Ruby 初心者スレッド Part 55
830 :デフォルトの名無しさん[sage]:2014/11/20(木) 00:35:02.06 ID:wJ3BgpRF - 少なくとも
・オブジェクト指向プログラミング ・関数型プログラミング を学び&それを実践したいのであれば、 数あるスクリプト言語の中でも Ruby が最良の選択 (もしS式に拒否反応が無ければ Scheme 等のLisp族でもいいんだけどね)
|
- クロージャって何がいいの? [転載禁止]©2ch.net
162 :デフォルトの名無しさん[sage]:2014/11/20(木) 00:42:39.12 ID:wJ3BgpRF - >>161
「クロージャみたいなモノ」もしくは「クロージャもどき」 def make_f(x): return lambda(y): x * y が返すのも同じ
|
- クロージャって何がいいの? [転載禁止]©2ch.net
165 :デフォルトの名無しさん[sage]:2014/11/20(木) 00:47:27.27 ID:wJ3BgpRF - >>163
>>104
|
- クロージャって何がいいの? [転載禁止]©2ch.net
167 :デフォルトの名無しさん[sage]:2014/11/20(木) 00:58:03.79 ID:wJ3BgpRF - >>164
いや、Python は関数を定義しなければ局所環境が作られないんだから、 >>31 の要件は満たしていないだろ >>31 には「ラムダ式や無名関数で実現している」と書かれているんだけど、 日本語が不自由なんですか? 実際、もしも >>31 の定義を満たしているなら、 >>46 のゴチャゴチャしたコードは (>>73 のようにわざわざ関数を定義しなくても) >>83 のように「ラムダ式や無名関数で実現している」 簡潔なコードに書き直せるはずだ さて、論よりコード、>>164 は書き直せるかな?
|
- クロージャって何がいいの? [転載禁止]©2ch.net
170 :デフォルトの名無しさん[sage]:2014/11/20(木) 01:04:53.19 ID:wJ3BgpRF - >>166
それは def f(x): で関数を定義しているから、当たり前の話 「世間一般のクロージャ」であれば、わざわざ関数を定義しなくても ラムダ式や無名関数と呼ばれる構文でクロージャを作れるんだよ >>31 をよく読み直そうね
|
- クロージャって何がいいの? [転載禁止]©2ch.net
173 :デフォルトの名無しさん[sage]:2014/11/20(木) 01:10:58.55 ID:wJ3BgpRF - >>169
>>31 にある「いくつかの言語では」という前置きは、 後から出てくる Smalltalk や Ruby のブロック構文を指すと 考えるのが自然じゃないかな? さすがに Wikipedia のページ著者が 「ラムダ式や無名関数」と「関数定義」との違いも 分からないほどのお馬鹿さんだとは思えないしね
|
- クロージャって何がいいの? [転載禁止]©2ch.net
175 :デフォルトの名無しさん[sage]:2014/11/20(木) 01:15:12.19 ID:wJ3BgpRF - >>171
クロージャだね (define (make_f x) (lambda (x) (* x y)) ) が返すのもクロージャだね
|
- クロージャって何がいいの? [転載禁止]©2ch.net
178 :デフォルトの名無しさん[sage]:2014/11/20(木) 01:28:21.39 ID:wJ3BgpRF - >>177
Wikipedia の記事が常に 100% 正しいと思っているのかな? 記事の冒頭にある >>31 のクロージャという用語の定義とは 矛盾していると思うけどね (自分のクロージャという用語の定義は >>4 で書いた) もし矛盾していないと反論したいのなら、論よりコードだ >>46 のゴチャゴチャしたコードは (>>73 のようにわざわざ関数を定義しなくても) >>83 のようにラムダ式や無名関数だけで書き直せるはず さて、>>177 は書き直せるかな?
|