これをcoffeescriptでどのように書くのですか?
f = (function(){
// something
})();
ヒントをありがとう:)
これをcoffeescriptでどのように書くのですか?
f = (function(){
// something
})();
ヒントをありがとう:)
かっこを使用することもできますが (たとえば、次のキーワード(-> foo)()
を使用してかっこを避けることができます。do
do f = -> console.log 'this runs right away'
の最も一般的な使用法はdo
、ループ内の変数をキャプチャすることです。例えば、
for x in [1..3]
do (x) ->
setTimeout (-> console.log x), 1
がなければ、ループdo
の後に の値を 3 回出力するだけです。x
CoffeeScript で自己呼び出し関数に渡される引数を「エイリアス」したい場合、これが達成しようとしているとしましょう:
(function ( global, doc ) {
// your code in local scope goes here
})( window, document );
それdo (window, document) ->
ならさせてくれない。行く方法は、括弧を使用することです:
(( global, doc ) ->
# your code here
)( window, document )
それはコーヒーでばかげて簡単です:
do ->
戻ります
(function() {})();
使ってみてください
do ($ = jQuery) ->
キーワードをデフォルトの関数パラメーターと組み合わせて、do
再帰的な「自己開始関数」に初期値をシードすることもできます。例:
do recursivelyPrint = (a=0) ->
console.log a
setTimeout (-> recursivelyPrint a + 1), 1000
do ->
#your stuff here
これにより、スコーピングに役立つ自己実行クロージャーが作成されます。
申し訳ありませんが、私はそれを解決しました:
f = (
() -> "something"
)()
そのはず
f = () ->
# do something