- 【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】 [転載禁止]©2ch.net
1000 :デフォルトの名無しさん[sage]:2015/02/28(土) 00:42:44.72 ID:vAVkZjyz - >>987
Rubyはキーワード引数ひとつ取ってみても複雑すぎる しかも最近導入された機能だから、設計初期にありがちなミスとも違う こんな複雑な言語そうそう無いよ def f(*args, kwd: 'keyword') p args, kwd end f(1, 2) #=> [1, 2], "keyword" f({}, {}) #=> [{}], "keyword" # 引数が1つ消滅。どこに消えた? f({a: 0}, {b: 1}) # ArgumentError
| - 【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止]©2ch.net
16 :デフォルトの名無しさん[sage]:2015/02/28(土) 09:03:41.60 ID:vAVkZjyz - Rubyは関数内関数が書けないから
proc{}やlambda{}に頼るしかなくて、 結果的に関数呼び出しが()になったり[](または.call())になったりと 本質的でない使い分けが必要でゴミすぎる
| - 【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止]©2ch.net
17 :デフォルトの名無しさん[sage]:2015/02/28(土) 09:12:34.63 ID:vAVkZjyz - def f(x)
->(y){x + y} end p f(1)[2] # ()と[]の使い分けがウザイ def foo(x) def bar(y) y * y end x + bar(x) end p foo 10 p bar 10 # barがfooの外側から参照できる。よってこれは関数内関数じゃない
| - 【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止]©2ch.net
28 :デフォルトの名無しさん[sage]:2015/02/28(土) 19:11:42.67 ID:vAVkZjyz - matzはstreemでも ->(x){} を提案してたけど、誰にも賛同貰えてなくてワロタ
https://github.com/matz/streem/issues/55
|
|