配列でa + b
はできないけど、[a..., b...]
は可能で、読みやすいというメモです。(個人差あり)
普通の方法
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
という配列があったとして、連結しようとすると
d = a.concat b, c # [1, 2, 3, 4, 5, 6, 7, 8, 9]
となってしまい、若干のロジック感が気になっていました。
splat演算子が使えるじゃないか
ところが、CoffeeScript Cookbookを眺めていて、
d = [a..., b..., c...] # [1, 2, 3, 4, 5, 6, 7, 8, 9]
が可能なことに気づいたのでした。
ただし、書き出されるJavaScriptが、
var d, slice = [].slice;
d = slice.call(a).concat(slice.call(b), slice.call(c));
のようになるので、本番に入れて良いのかなーという気はしないでもなし。
gulpで使うと良さげ
gulpの設定ファイルとかだといい感じ。
$ =
js: ['./src/app.js', './src/lib/**/*.js']
components: ['./src/components/*.html']
gulp.task 'watch', ->
browserSync.init
gulp.watch [$.js..., $.components...], ['browserify']