CoffeeScript の関数の引数について調べました。
基本
CoffeeScript では 次のように関数を定義します。
1 2 |
funcName = () -> console.log('funcName') |
1行で並べて書けるなど、バリエーションは存在しますが、基本はこの形です。
引数のある関数
引数は括弧の中に入れます。
1 2 |
add = (a, b) -> a + b |
デフォルト値を指定するには次のようにします。
1 2 |
add = (a = 1, b = 2) -> a + b |
引数の数が決まっていない場合(可変長引数)、 次のようにして配列で引数を取得することもできます。
1 2 3 4 5 |
add = (x...) -> s = 0 for n in x s += n s |
ここで x
は配列になります。 引数がなければ要素数ゼロの配列になります。
この可変長の引数と位置固定の引数を組み合わせることもできます。
1 2 3 4 5 6 7 |
concat = (name, items..., age) -> itemString = if items.length > 0 "[" + items.join(", ") + "]" else "" name + "(" + age + "): " + itemString |