Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

underscore.jsでEnumbleなデータを楽しく扱う

nodejsを書いていて、mapだのlistめいた挙動をやりたい……と何となく感じていましたが、世のなか同じ発想の人は多かったようです
underscore.jsはEnumbleなデータをガリガリ弄るのに適したライブラリです。

実際のところ

ライブラリを読んで使うわけですが、"_"と割り当てるのが流行りらしい。オシャレ

var    _ = require('underscore');
_.map([1, 2, 3], function(num){ return num * 3; });
=> [3, 6, 9]

一番新しいファイルを引っ張り出すなんて挙動も、
更新日時のEnumbleなデータを作って最大をとるという方法で実現

var fs = require('fs'),
    path = require('path'),
    _ = require('underscore');

// Return only base file name without dir
function getMostRecentFileName(dir) {
    var files = fs.readdirSync(dir);

    // use underscore for max()
    return _.max(files, function (f) {
        var fullpath = path.join(dir, f);

        // ctime = creation time is used
        // replace with mtime for modification time
        return fs.statSync(fullpath).ctime;
    });
}

Rubyを楽しく書いていたころを思い出しました……