1

次の JS 教科書の例を Livescript に変換しようとしています。

   function cf(){
       var result = new Array();
       for (var i=0; i < 10; i++) {
         result[i] = function(num){
           return function(){
             return num;
           };
          }(i);
       }
       return result;
    }
    console.log( cf()[2]() );

私の試みはこれです:

cf = ->
  res=[]
  for i in [ 0 til 10 ]
    f = (num) ->
      ->
        num
    res[i] = f(i)
  res

console.log cf! . [3]!

しかし、lsc は最後の行で失敗しました。

この Livescript 出力を提供するhttp://js2ls.org/public/を試しました (最初の JavaScript フラグメントから):

cf = ->
  result = new Array
  i = 0
  while i < 10
    result[i] = (num) -> -> num
    i
    i++
  result

console.log cf!.2!

これは正しくありません。

JavaScriptフラグメントはLivescriptでどのようにコーディングする必要がありますか?

4

2 に答える 2