15パズル in coffee script
coffee script で15パズルを書いてみました。
まえに作ったものを、書き直しました。
http://stakam.net/playground/111013/
http://stakam.net/playground/111013/15pzl.coffee
coffee script はすごく楽でいいです。
Class を作るのとかも
class Fifteen constructor: -> // init something
だけです。メソッドの中で、this.element などは @element でアクセスできるのもいいです。
一番いいのは、ループ系です。とても楽です。
// javascript var arr = [2,3,4]; var result = []; for (var i=0;i<arr.length;i++) { result[i] = arr[i] * 10; } # coffee arr = [2,3,4] result = (val * 10 for val in arr)
カッコでくくるとmapを代入。くくらないと<代入式>をループするみたいです。
この一行方式で書いた、<XHRで到着したXMLデータをパースする>がとても楽でした。
# parse xml data on jQuery $.get 'url.xml', param, (data) => $photo = $('photo', data)[0] photo_ = {} attrs = 'id owner secret server farm title url_l height_l width_l'.split(' ') photo_[attr] = $photo.attr(attr) for attr in attrs photo_ // parsed data
あと、思ったのが、連想配列のループは for .. of になる。
console.log prop for prop of window # loop hash
coffee だと for .. in が配列用になるんですね。