トップページ > プログラム > 2015年06月09日 > YMX6lY//

書き込み順位&時間帯一覧

8 位/190 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000130004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net

書き込みレス一覧

関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
484 :デフォルトの名無しさん[sage]:2015/06/09(火) 19:37:05.34 ID:YMX6lY//
初心者スレが見当たらないのでここに書き込ませてください。
「$演算子による関数適用の区切り」と「.演算子による関数合成」
この違いというか使い分けって

$演算子は括弧対応を沢山省略できて便利
例: sin $ cos $ tan $ x + 1

.演算子は関数合成で変数に束縛可能になるから便利
例: fun = sin . cos . tan . (+ 1)

くらいかなと思ったのですが、後者は
fun x = sin $ cos $ tan $ x + 1
別にこれでも構わないわけですよね。
.演算子の利点って他に何があるんでしょうか?
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
486 :デフォルトの名無しさん[sage]:2015/06/09(火) 20:00:13.95 ID:YMX6lY//
「関数そのものが欲しい時」って
fun x = sin $ cos $ tan $ x + 1
一応これでも目当ての関数 fun が得られてると思うのですが、要は「引数って邪魔だよね」的な感覚?
美的感覚だけでなく実行効率も違ってくるのでしょうか。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
488 :デフォルトの名無しさん[sage]:2015/06/09(火) 20:13:23.65 ID:YMX6lY//
ポイントフリーでググってみましたが...
例えば
fact :: Integer -> Integer
fact n = product [1..n]
よりも
fact = foldl (*) 1 . enumFromTo 1
のほうがスマートで好まれるのでしょうか。
実行効率同じなのになんだか可読性を犠牲にしすぎのように思えるのですが。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
490 :デフォルトの名無しさん[sage]:2015/06/09(火) 20:39:29.39 ID:YMX6lY//
ありがとうございます。ちょっとだけ感覚が分かってきました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。