Return to Video

05-14 Eval Exp

  • 0:00 - 0:02
    小テストです
  • 0:02 - 0:04
    インタプリタを一緒に作りましょう
  • 0:04 - 0:06
    私が始めるので完成させてください
  • 0:06 - 0:09
    JavaScriptの算術演算を実行する
  • 0:09 - 0:11
    eval_exp関数を作ります
  • 0:11 - 0:14
    扱うのは+、-、数字のみです
  • 0:14 - 0:18
    この関数は木を探索するので
    1つの木を引数に取ります
  • 0:18 - 0:20
    複数の木を取っていたHTMLインタプリタとは
  • 0:20 - 0:22
    少し異なります
  • 0:22 - 0:24
    木の構造を思い出してください
  • 0:24 - 0:28
    “number”のタプルは次の要素に
    “5”という文字列が入っています
  • 0:28 - 0:31
    “binop”というタプルが二項演算を表します
  • 0:31 - 0:33
    左の木と右の木があり
  • 0:33 - 0:35
    真ん中には“+”の文字が入ります
  • 0:35 - 0:38
    この最初の部分がノードの種類です
  • 0:38 - 0:42
    treeの0番目の要素を取って展開します
  • 0:42 - 0:45
    これが“number”だった場合は
  • 0:45 - 0:47
    数字の値を見ます
  • 0:47 - 0:50
    Pythonではint関数を使うだけで
  • 0:50 - 0:53
    文字列を整数に変換できます
  • 0:53 - 0:56
    それ以外に 例えば
    ノードが二項演算の場合は
  • 0:56 - 0:58
    まずleft_childに左の子を入れます
  • 0:58 - 1:00
    演算子はoperatorに入れ
    右の子をright_childに代入します
  • 1:00 - 1:04
    構文解析の時に済んでいるので
  • 1:04 - 1:06
    タプルの各要素には情報が入っています
  • 1:06 - 1:08
    ここからが小テストです
  • 1:08 - 1:11
    左右の子の値を得てください
  • 1:11 - 1:14
    再帰呼び出しをするのがヒントです
  • 1:14 - 1:16
    左右の子の値が分かったら
  • 1:16 - 1:18
    次に二項演算を行いましょう
  • 1:18 - 1:21
    加算の二項演算子であれば足し合わせてください
Title:
05-14 Eval Exp
Description:

dummy description

more » « less
Video Language:
English
Team:
Udacity
Project:
CS262 - Programming Languages
Duration:
01:22

Japanese subtitles

Revisions