2017-01-02 8 views
0
class Main { 
    function void main() { 
    var String foo; 
    let foo = "bar"; 

    if (foo == "bar") { 
     do Output.printString("true"); 
    } 
    else { 
     do Output.printString("false"); 
    } 

    return; 
    } 
} 

- 「期待や〜か(用語で」私はエラーを取得する:Expected - or ~ or (in termナンド(ジャック):このエラーを与えてテスト平等との条件付きであればシンプル -

全出力:

を。
code/nand2tetris » tools/JackCompiler.sh projects/09/Test 
Compiling /Users/adamzerner/code/nand2tetris/projects/09/Test 
In Main.jack (line 6): In subroutine main: Expected - or ~ or (in term 
code/nand2tetris » 

エラーは何を意味するのでしょうか?

答えて

0

問題は、私が代わりに===を使用したことである。ジャックでは、平等が単一の等号を使用してではなく、テストされますダブルまたはトリプル(ダブル/トリプルは他の言語では従来通り)

Chapter 9 PDFのスライド22の箇条書きの7を参照して、等価比較が単一の等価で行われることを示す文書を参照してください。

たとえば、コースソフトウェアのSquareGame.jack行40を参照してください。

次のコードはエラーなしでコンパイルされます。期待される出力は得られませんが、その理由は別の話題です。

class Main { 
    function void main() { 
    var String foo; 
    let foo = "bar"; 

    if (foo = "bar") { 
     do Output.printString("true"); 
    } 
    else { 
     do Output.printString("false"); 
    } 

    return; 
    } 
} 
関連する問題