ich diese Methode in einer Klasse Wroe:Ruby-Interpreter ignors Bedingungen elsif Aussagen
def OpCodes
if @asm[0] == "ADD"
opcode = "111"
elsif @asm[0] == "CMP"
opcode = "110"
elsif @asm[0] == "SHL"
opcode = "101"
elsif @asm[1] == "SHR"
opcode = "100"
elsif @asm[1] == "NOT"
opcode = "011"
elsif @asm[1] == "XOR"
opcode = "010"
elsif @asm[1] == "OR"
opcode = "001"
elsif @asm[1] == "AND"
opcode = "000"
else
opcode = "ERROR"
end
@opcode = opcode
return @opcode
end
Und wenn ich den Code ausführen, und zum Beispiel gebe ich es "ADD 1, 3" string, es funktioniert und kehrt "111". Aber, wenn ich andere Befehle verwenden, es gibt „ERROR“
'" ADD 1, 3 "[0]' ist 'A' und sollte nicht mit' ADD' identisch sein. Gibst du wirklich die Zeichenfolge "ADD 1, 3" oder gibt es eine Trennung und du gibst ein Array? Können Sie bitte Ihren Anruf in Ihrem Beispiel hinzufügen. – knut
Es tut mir leid, was ruby Interpreter ignoriert? Vielleicht ignorierst du an erster Stelle die Ruby-Syntax? –
Willkommen bei SO. Bitte lesen Sie "[mcve]". Ihr Code wird nicht so ausgeführt, wie er ist, was es für uns schwieriger macht, Ihnen zu helfen. –