読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

livescriptのpiping記法はヤバさみがある

Javascriptメソッドチェインみたいなことはできませんが、
livescriptではPiping記法を使って、なんやらそれっぽい記述ができます。

x = [1 2 3] |> reverse |> head #=> 3

メソッドチェインとでもいうような奇妙なこともできます。

y = reverse <| [1 2 3] #=> [3,2,1]

また、Partially applied functionと組み合わせることで、
Rubyでいう

prc = ->x{x*2}; [1,2,3].map(&prc).reduce(&:+)
#or
[1,2,3].map{|x| x*2}.reduce(&:+)

と似た挙動が以下のような感じで実装できます

[1 2 3]
|> _.map _, (* 2)
|> _.reduce _, (+), 0