0

次の [任意の言語ですが、これは ALGOL だと思います] プログラムが与えられた場合:

program main;                               // A main parent level
  var i : integer;                          // A 'global' variable

  (* Note that all parameters are passed by value here *)

  function f1 (j : integer) : integer;      // A Child function
  begin { f1 }
    i := i + 3;
    f1 := 2 * j - i;
  end; { f1 }

  function f2 (k : integer) : integer;      // Another Child function, same level as f1
    var i : integer;                        // Here, there is a variable that is declared
  begin { f2 }                                 // but no value assigned
    i := k / 2;
    f2 := f1(i) + f1(k);
  end; { f2 }

begin { main }                              // Running/Calling/Executing the code
  i := 8;
  i := i + f2(i);
  writeln(i);
end. { main }

JavaScript を使用して両方向 (左から右に評価し、次に右から左に評価) で動的スコープを使用してプログラム全体で値を表示し、対話的に値を変更して何が起こるかを確認するにはどうすればよいでしょうか?

出力の値が求められるこのようないくつかの問題では、学習が少し遅くなりますが、プログラム全体で値の状態が表示されず、特にインタラクティブに遊ぶことができる例では、理解を深めようとしています。

左から右への静的スコープ用のplnkrと、右から左への静的スコープ
plnkrを作成しました
。インタラクティブな回答を気軽にフォークしてください:)。

4

0 に答える 0