84 lines
2.9 KiB
Plaintext
84 lines
2.9 KiB
Plaintext
// This file is part of www.nand2tetris.org
|
|
// and the book "The Elements of Computing Systems"
|
|
// by Nisan and Schocken, MIT Press.
|
|
// File name: projects/12/StringTest/Main.jack
|
|
|
|
/** Test program for the OS String class. */
|
|
class Main {
|
|
|
|
/** Performs various string manipulations and displays their results. */
|
|
function void main() {
|
|
var String s;
|
|
var String i;
|
|
|
|
let s = String.new(0); // a zero-capacity string should be supported
|
|
do s.dispose();
|
|
|
|
let s = String.new(6); // capacity 6, make sure that length 5 is displayed
|
|
let s = s.appendChar(97);
|
|
let s = s.appendChar(98);
|
|
let s = s.appendChar(99);
|
|
let s = s.appendChar(100);
|
|
let s = s.appendChar(101);
|
|
do Output.printString("new,appendChar: ");
|
|
do Output.printString(s); // new, appendChar: abcde
|
|
do Output.println();
|
|
|
|
let i = String.new(6);
|
|
do i.setInt(12345);
|
|
do Output.printString("setInt: ");
|
|
do Output.printString(i); // setInt: 12345
|
|
do Output.println();
|
|
|
|
do i.setInt(-32767);
|
|
do Output.printString("setInt: ");
|
|
do Output.printString(i); // setInt: -32767
|
|
do Output.println();
|
|
|
|
do Output.printString("length: ");
|
|
do Output.printInt(s.length()); // length: 5
|
|
do Output.println();
|
|
|
|
do Output.printString("charAt[2]: ");
|
|
do Output.printInt(s.charAt(2)); // charAt[2]: 99
|
|
do Output.println();
|
|
|
|
do s.setCharAt(2, 45);
|
|
do Output.printString("setCharAt(2,'-'): ");
|
|
do Output.printString(s); // setCharAt(2,'-'): ab-de
|
|
do Output.println();
|
|
|
|
do s.eraseLastChar();
|
|
do Output.printString("eraseLastChar: ");
|
|
do Output.printString(s); // eraseLastChar: ab-d
|
|
do Output.println();
|
|
|
|
let s = "456";
|
|
do Output.printString("intValue: ");
|
|
do Output.printInt(s.intValue()); // intValue: 456
|
|
do Output.println();
|
|
|
|
let s = "-32123";
|
|
do Output.printString("intValue: ");
|
|
do Output.printInt(s.intValue()); // intValue: -32123
|
|
do Output.println();
|
|
|
|
do Output.printString("backSpace: ");
|
|
do Output.printInt(String.backSpace()); // backSpace: 129
|
|
do Output.println();
|
|
|
|
do Output.printString("doubleQuote: ");
|
|
do Output.printInt(String.doubleQuote());// doubleQuote: 34
|
|
do Output.println();
|
|
|
|
do Output.printString("newLine: ");
|
|
do Output.printInt(String.newLine()); // newLine: 128
|
|
do Output.println();
|
|
|
|
do i.dispose();
|
|
do s.dispose();
|
|
|
|
return;
|
|
}
|
|
}
|