0
これはtrue
の代わりにfalse
を出力しています。どうしてこれなの?Nand to Tetris:文字列の等価性テストが機能しない
class Main {
function void main() {
var String foo;
let foo = "bar";
if (foo = "bar") {
do Output.printString("true");
}
else {
do Output.printString("false");
}
return;
}
}
私はジャックでnote that(各オブジェクトの開始アドレスが同じであるかどうかをfoo
と"bar"
が各オブジェクトであるからだと疑い、そして=
テストは、平等は単一イコールではなく、二重にするためにテストされていますトリプルイコール)。私はまだこの仮説が真実かどうかを発見する10/11の章には行きませんでした。
前回の回答をもう一度削除しました。単一の等号が有効であれば、文字列に対して2つの表現があることを前提としています。 –
@OliverHader大丈夫、ありがとう。 –