私のコードには、文字列を反復処理し、文字ごとに操作を実行する必要がある場所がいくつかあります。私の node.js アプリケーションは、リクエストごとにこれを何十回も行う必要があり、多くの場合、文字列の長さはかなり長くなる可能性があります。
以下のような JavaScript を coffeescript に変換する唯一の方法は、文字列の長さに基づいて配列を作成することです。私が持っているこれの問題は、ハードウェア側で行うことが余分なことであり、余分なメモリを消費し、不要に見えることです (私のノードアプリケーションは 1 秒あたり最大数千の dgram を処理するため、この余分な作業がすべて加算されます)。
JavaScript の方法:
for(var i = 0; i < str.length; i++) { /* Do stuff with str here */ }
推奨されるCoffeeScriptの方法
for i in [0..str.length]
# Do stuff here
繰り返しますが、従来の for ループがハードウェアの観点からそのステップを台無しにする必要がない場合に、配列オブジェクトの作成を強制するのはばかげていると思います。
私が見つけた唯一の回避策は、次のような while ループを使用することです。
i = 0
while i < str.length
# Do stuff
i++
それは機能しますが、単純な for ループを使用するだけの単純な JavaScript の方法よりもはるかに冗長です。
基本的な反復を実行するために余分な配列を生成することなく、CoffeeScript で for ループを使用する方法はありますか?