開発中のjQueryプラグインの一部として次の関数を作成しました。
$.fn.append2 = function(collection, callback) {
var $this = this;
$.each(collection, function(key, value) {
$this.append(callback ? callback(key, value) : value);
});
return this;
};
に大きく依存する非常に再帰的な関数をテストした後.append2
、次のように最適化.append2
しました。
$.fn.append2 = function(collection, callback) {
var $this = this;
$.each(collection, callback
? function(key, value) { $this.append(callback(key,value)); }
: function(key, value) { $this.append(value); }
);
return this;
};
このコードは速度の点ではより効率的ですが、それでも私は満足できませんでした。基本的に、同じ関数を2回定義しました。
function(key, value) { $this.append(callback(key,value)); }
function(key, value) { $this.append(value); }
そして、関数を次のように一度だけ定義できる言語があるかどうか疑問に思いました。
function(key, value) { $this.append(value); }
$this.append
次に、引数をfromからvalue
に置き換えて操作しcallback(key, value)
ます。(そして、いいえ、文字列を操作することによってではありません。関数自体を操作することによって。)
そのようなプログラミング言語はありますか?