Can compile all the samples in 明義第一, 變數第二, 算術第三, 決策第四 and 循環第五 correctly. Samples in 行列第六 compiles but currently does not necessarily compile to a valid Rust program, becase in Rust {}
cannot be used to println!
a Vec<_>
and we also have an ownership issue.
-
must change the
println!
into a custom function, in order to:- print the numbers in Hanzi
- print the array (note that test081.rs currently does not compile as a valid Rust program)
-
must handle
Vec<_>
ownership correctly
有數三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
is compiled to
fn main() {
let JIA3 = 3.0;
let mut _rand1 = 0.0;
while _rand1 < JIA3 {
let _ans1 = "問天地好在。";
println!("{}", _ans1);
_rand1 += 1.0;
}
}
吾有三數。曰三。曰九。曰七。名之曰「甲」。書之。
吾有三數。曰三。曰九。曰七。名之曰「乙」。曰「丙」。書之。
吾有三數。曰三。曰九。曰七。名之曰「丁」。曰「戊」。曰「己」。書之。
吾有三數。曰三。曰九。名之曰「庚」。曰「辛」。曰「壬」。曰「癸」。書之。
fn main() {
let JIA3 = 3.0;
let _ans1 = 9.0;
let _ans2 = 7.0;
println!("{} {}", _ans1, _ans2);
let YI3 = 3.0;
let BING3 = 9.0;
let _ans3 = 7.0;
println!("{}", _ans3);
let DING1 ZHENG1 = 3.0;
let WU4 = 9.0;
let JI3 = 7.0;
println!("");
let GENG1 = 3.0;
let XIN1 = 9.0;
let REN2 = 0.0;
println!("");
}
吾有一數。曰三。名之曰「甲」。
吾有一言。曰「「問天地好在。」」。書之。
昔之「甲」者。今四是矣。
fn main() {
let mut JIA3 = 3.0;
let _ans1 = "問天地好在。";
println!("{}", _ans1);
JIA3 = 4.0;
}
加一以三。加二以三。減其以其。
加一以三。加二以三。減其於其。
fn main() {
let _ans1 = 1.0 + 3.0;
let _ans2 = 2.0 + 3.0;
let _ans3 = _ans2 - f64::NAN;
let _ans4 = 1.0 + 3.0;
let _ans5 = 2.0 + 3.0;
let _ans6 = _ans5 - f64::NAN;
}
吾有九爻。曰陽。曰陰。曰陰。曰陽。曰陰。曰陰。曰陰。曰陰。曰陽。
名之曰「魯人耶」曰「衛人耶」曰「德行科耶」曰「政事科耶」
曰「複姓耶」曰「未仕耶」曰「蚤死耶」曰「病厲耶」曰「戰死耶」
夫「魯人耶」。若其然者。
夫「德行科耶」。若其然者。
夫「未仕耶」。若其然者。
夫「蚤死耶」。若其然者。
吾有一言。曰「「賢哉。回也。人不堪其憂。回也不改其樂。」」書之。
若非。
吾有一言。曰「「孝哉。閔子騫。人不間於其父母昆弟之間。」」書之也。
若非。
夫「病厲耶」。若其然者。
吾有一言。曰「「亡之。命也夫。斯人也。而有斯疾也。」」書之。
若非。
吾有一言。曰「「雍也。可使南面。」」書之也。
云云。
若非。
夫「政事科耶」。若其然者。
夫「戰死耶」。若其然者。
吾有一言。曰「「若由也。不得其死然。」」書之。
若非。
吾有一言。曰「「求。無乃爾是過與。」」書之也。
若非。
吾有一言。曰「「朽木不可雕也。糞土之牆不可杇也。於予與何誅。」」書之也。
云云。
若非。
夫「複姓耶」。若其然者。
吾有一言。曰「「賜也。始可與言詩已矣。告諸往而知來者。」」書之。
若非。
夫「衛人耶」。若其然者。
吾有一言。曰「「起予者。商也。始可與言詩已矣。」」書之。
若非。
吾有一言。曰「「二三子。偃之言是也。」」書之也。
云云。
云云。
fn main() {
let LU3REN2YE2 = true;
let WEI4REN2YE2 = false;
let DE2XING2KE1YE2 = false;
let ZHENG4SHI4KE1YE2 = true;
let FU4XING4YE2 = false;
let WEI4SHI4YE2 = false;
let ZAO3SI3YE2 = false;
let BING4LI4YE2 = false;
let ZHAN4SI3YE2 = true;
let _ans1 = LU3REN2YE2;
if _ans1 {
let _ans2 = DE2XING2KE1YE2;
if _ans2 {
let _ans3 = WEI4SHI4YE2;
if _ans3 {
let _ans4 = ZAO3SI3YE2;
if _ans4 {
let _ans5 = "賢哉。回也。人不堪其憂。回也不改其樂。";
println!("{}", _ans5);
} else {
let _ans6 = "孝哉。閔子騫。人不間於其父母昆弟之間。";
println!("{}", _ans6);
}
} else {
let _ans7 = BING4LI4YE2;
if _ans7 {
let _ans8 = "亡之。命也夫。斯人也。而有斯疾也。";
println!("{}", _ans8);
} else {
let _ans9 = "雍也。可使南面。";
println!("{}", _ans9);
}
}
} else {
let _ans10 = ZHENG4SHI4KE1YE2;
if _ans10 {
let _ans11 = ZHAN4SI3YE2;
if _ans11 {
let _ans12 = "若由也。不得其死然。";
println!("{}", _ans12);
} else {
let _ans13 = "求。無乃爾是過與。";
println!("{}", _ans13);
}
} else {
let _ans14 = "朽木不可雕也。糞土之牆不可杇也。於予與何誅。";
println!("{}", _ans14);
}
}
} else {
let _ans15 = FU4XING4YE2;
if _ans15 {
let _ans16 = "賜也。始可與言詩已矣。告諸往而知來者。";
println!("{}", _ans16);
} else {
let _ans17 = WEI4REN2YE2;
if _ans17 {
let _ans18 = "起予者。商也。始可與言詩已矣。";
println!("{}", _ans18);
} else {
let _ans19 = "二三子。偃之言是也。";
println!("{}", _ans19);
}
}
}
}