Japanese subtitles

← 07xps-05 A Web Browser for HTML and JavaScript

Get Embed Code
3 Languages

Showing Revision 1 created 10/23/2014 by Udacity.

  1. 先ほどの手法はwriteの呼び出しを
    特別扱いしないとうまく働きません
  2. すべてのwriteの呼び出しに対して
    グローバル変数のjavascript outputに
  3. 追加するように知らせる必要があります
  4. 私が書き始めるので仕上げてください
  5. JavaScriptインタプリタに戻ります
  6. writeの特別な関数呼び出しを扱うようにします
  7. 関数呼び出しは式なので
    式を評価する部分を作ります
  8. 抽象構文木と今の環境です
  9. まず式の種類を見分けます
  10. すでにbinopやnumberでやったのと同様です
  11. 関数呼び出しのcallに着目します
    前にもやりましたね
  12. 関数呼び出しは関数名と実引数があります
  13. myfun(a,3+4)という呼び出しならば
    関数名はmyfunです
  14. 引数は式のリストです
  15. では環境から関数名を探します
  16. writeはユーザが呼び出す関数ですが
    定義をしなくてもよい特別な関数です
  17. 環境内には見つかりません
  18. writeの呼び出しの時には
    env_lookupはNoneを返します
  19. しかしただ関数が見つからない場合にも
    同様にNoneを返すのでwriteを調べます
  20. writeが持つはずの1つの引数を評価します
  21. それまでにユーザがwriteを呼び出してきた時の
    出力を取り出します
  22. グローバル環境ではなく今の環境から
    javascript outputを探しています
  23. 環境から探す時どのようになるか考えてください
  24. ポケットの中に無ければ
    ホテルの部屋を探し家を探し
  25. 親に聞いてWebで検索します
  26. これを続けて最終的には
    グローバル環境に行きあたります
  27. スペースを含む特別な変数名をつけているので
    誰もこの変数を作れません
  28. 今グローバル環境にいないとしてもありませんし
    ホテルにも家にもありません
  29. 最終的にグローバル環境に戻ってきます
  30. 前回空の文字列で初期化したので
    必ずそこで見つかるのです
  31. 2つの空欄を埋める小テストです
  32. 今までの出力は取り出したので
    これから環境を更新して
  33. javascript outputの値が
    最新のものになるようにします
  34. どうすればよいでしょうか?