JSFL で Underscore.js を使うテスト
Flash, JSFL ·JSFL の fl.runScript を使って汎用的な JS のライブラリ Underscore.js が使えるか試してみたらできたのでメモ。
ファイルの構造(xJSFLでファイルのURIを指定しているのでこんな感じ)
※注意:underscore-min.js (圧縮されたJS)を読み込んだところ、特定のメソッドで Flash が強制終了しました…。圧縮されてない underscore.js を使うと落ちませんでした…不思議。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//xjsfl.reload(); | |
xjsfl.init(this); // using xJSFL | |
clear(); | |
fl.runScript(xjsfl.file.find('lib', 'underscore.js')); | |
trace(_.map([1, 2, 3], function(num){ return num * 3; })); | |
trace(_.some([null, 0, 'yes', false])); | |
trace(_.invoke([[5, 1, 7], [3, 2, 1]], 'sort')); | |
var evens = _.filter(_.range(1, 20), function(num){ return num % 2 == 0; }); | |
trace(evens); | |
var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0); | |
trace(sum); | |
var stooges = [{name : 'curly', age : 25}, {name : 'moe', age : 21}, {name : 'larry', age : 23}]; | |
var youngest = _.chain(stooges) | |
.sortBy(function(stooge){ return stooge.age; }) | |
.map(function(stooge){ return stooge.name + ' is ' + stooge.age; }) | |
.first() | |
.value(); | |
trace(youngest); |
結果
使い道
あまり思い浮かびませんが、生のJS書くよりはマシなのでモチベーションがあがりますね。 他にも汎用的なJSのライブラリを読み込んだりしたらさらに便利になりそう。