2014-09-18
Ruby: (-> x {x}) Python: (lambda x: x) Smalltalk: :x | x Smalltalkの勝ち! T あれ、Smalltalkって無名ブロックを呼び出す時にvalueとか書かないといけない?Smalltalk: (:x | x value: 1) Ruby (-> x {x})(1) Rubyが逆転勝利しそうだぞ? T とりあえずPythonで書いといたIn 1: s = (lambda x: lambda y: lambda z: x(z)(y(z)))In 2: k = (lambda x: lambda y: x)In 3: s(k)(k)(1)Out3: 1 T Ruby版も作ろうと思ったらx(1)(1)がシンタックスエラーになってしまった。関数呼び出しの結果を関数として呼び出すのはどうするんだろう。本を読めば書いてあると思うけど家においてきてしまった。 T RT @udzura: @nishio s = ->(x) { ->(y) { ->(z) { x.(z).(y.(z)) } } }k = ->(x) { ->(y) { x } }s.(k).(k).(1) #=> 1でしょうか? T @udzura なるほど、そうでした。Rubyでs(k)とやっちゃうとObject#sのメソッド呼び出しになっちゃうんでしたね。よく間違えます。 T RT @xa_ky: 「ハーグ条約ってなんだろう」(外務省出版)の外国人描写が差別的だと有道出人など一部の人権活動家が騒いでいるらしいが、それより「アニメ趣味は家族を破壊する」と言わんばかりのバッシングを政府レベルで平気にやっていることを問題視したい http://t.co/h… T