ruby - 入門 - coffeescript 勉強



同等のRuby。coffeescriptでの (4)

CoffeeScriptと共にUnderscore.js既に使用しているので、

_(3).times -> console.log('hi')

https://ffff65535.com

最も簡潔な同等のCoffeescriptとは何ですか?

# ruby    
3.times { puts 'hi' }

私が考えることができる最高のものは次のとおりです。

# coffeescript
for n in [1..3]
  console.log 'hi'

JavaScript配列(少なくとも現代の配列)はforEachメソッドを持ち、CoffeeScript [1..3]範囲は配列なので、これを行うことができます:

[1..3].forEach -> console.log 'hi'

1つの警告:ただし、 [1..n] n[1..n]ばブラウザでは少し難しいかもしれませんが、便利な表記法を得るために大きな配列を作成することになります。 nが小さければ配列を構築するオーバーヘッドはそれほど重要ではないはずです。


console.log 'hi' for [1..3]

0も正しく処理するには:

console.log 'hi' for [1..n] if n

またはプロトタイプの魔法を使って:

Number::times = (fn) ->
  do fn for [[email protected]()] if @valueOf()
  return
3.times -> console.log 'hi'

Numberプロトタイプの変更にはグローバルな影響があるため、2番目の方法はお勧めしません。

編集:@ BrianGenisioのコメント( .prototype. - > :: .prototype.に従って変更

編集2:0の処理を修正しました、ありがとう@Brandon


console.log 'hi' for[]in length:3




coffeescript