【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】at TECH【Perl,PHP】LLバトルロワイヤル21【Ruby,Python】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト39:デフォルトの名無しさん 12/02/28 01:36:33.12 ->の右側に引数を書くのは何かの冗談なんだよね? HaskellやMLと意味も無く違っててキモイ 40:8 12/02/28 16:01:08.16 >>39 2点、反論する まずHaskellやMLの中置演算子 -> は、型式の中だけで定義されている つまり「値の式」と(「型の式」である)型式をごっちゃにした指摘 >>29 はトンチンカンと言える 実際、Standard MLの「値の式」では前置のラムダ構文 fn が使われるし、 Haskellにいたっては、¥記号(バックスラッシュ)というRubyと同様な記号が使われている 【Standard ML(SML/NJ)での実行例】 - (fn x => x + 1) : int -> int; (* コロンの左辺が「値の式」、右辺が型式 *) > val it = fn : int -> int 次に、すでに>>35で書いたけど、短縮記号の右矢印がキモイ(=不慣れなので読みづらい)のであれば、 Ruby 1.8 の(冗長だけど初心者には優しい)lambda記法を使う事もできる(要は、「慣れ」の問題) t = lambda { |f, x| f[f[x]] }.curry x = t[t][t][t][lambda { |x| x + 1 }][0] 結果としてRubyでは、>>8,23,35 そして上記コードという、 プログラマの慣れ/熟練度/用途等に応じた4通りの表現の使い分けが可能になる 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch