ブログトップ 記事一覧 ログイン 無料ブログ開設

あと味 このページをアンテナに追加 RSSフィード Twitter

2011-11-25 CoffeeScriptでカリー化関数を書いて遊ぶ

CoffeeScriptでカリー化関数を書いて遊ぶ

CoffeeScript食わず嫌いしてたのですが、使ってみると便利で、書いてて楽しいですね。

記法が簡潔なので、JavaScriptだとreturn function地獄になるカリー関数書くのが苦ではなかったので、カリー関数を書いて遊んでみました。

calc.coffee

これがCoffeeScriptソース

calc.js

これがコンパイルされたJavaScriptソース

カリー関数

「お前のプログラム柔らかいな、柔軟剤使ったろ?」ってくらいプログラムが柔軟になりますね。

今回のソースでは、オペレーター自分でプチ定義しちゃってるような感覚があります。

このテクニックを実務で使ったことはありませんが、CoffeeScriptだと、見た目も簡潔で良いかも。*1

カッコが省略できたら、会話するようにプログラミングができるのに。

CoffeeScript

プログラミング学者には導入の敷居が高いですが、教育用のプログラミング言語として良い気がしています。

CoffeeScriptの公式サイトにいけば、REPLがあるので、気軽に試せていいですね。

追記

やっぱりOCamlに似てるの気のせいじゃない気がするなぁ。

# let calc x op y fillin = fillin op x y;;
val calc : 'a -> 'b -> 'c -> ('b -> 'a -> 'c -> 'd) -> 'd = <fun>

*1:なんでカリー化して遊ぼうと思ったかと言うと、記法OCamlに見えてきたから

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/jdg/20111125/1322213980