CoffeeScriptの内包表記を学ぶ
基本
arrayのループにはfor inを、objectsのループにはfor ofを使用する。
例
players = ["Jorge", "Leandro", "Tanaka"] for player in players console.log player # インデックスを含む場合 for player, index in players console.log "#{index}, #{player}" records = Jorge: 11 Leandro: 15 Tanaka: 13 for key of records console.log key for key, value of records console.log "#{key} scored #{value} goals"
より簡潔に記述することも可能。
players = ["Jorge", "Leandro", "Tanaka"] console.log player for player in players records = Jorge: 11 Leandro: 15 Tanaka: 13 console.log "#{key} scored #{value} goals" for key, value of records
when文を用いて条件を指定することも可能。
for player, index in players if index % 2 == 0 console.log "#{index}, #{player}" # when文を使った場合 console.log player for player, index in players when index % 2 == 0
when文を用いて条件と指定した結果を変数に代入する場合は()を使う。
records = Jorge: 11 Leandro: 15 Tanaka: 13 good_players = (key for key, value of records when value >= 15) # => ["Leandro"]