创建一个 IO 流对象 赋值给 i 。 main() : Int 返回值为 Int 。
class Main{
i:IO <- new IO;
main() : Int {{i.out_string("hello_world\\n");}1;}
};
返回值 还可以 是 IO 或者 Object
class Main{
i:IO <- new IO;
main() : IO {i.out_string("hello_world\\n")};
};
或者直接 new IO 对象调用
class Main{
main() : Object {(new IO).out_string("hello_world\\n")};
};
或者利用 self 这个时候 Main 要继承 Io 类
class Main inherits IO{
main() : Object {self.out_string("hello_world\\n")};
};
class Main{
main():Object{
(new IO).out_string((new IO).in_string().concat("\\n"))
};
};
inherits A2I ascii转为整数
a2i 转整数
i2a 转字符
class Main inherits A2I{
main(): Object{
(new IO).out_string(i2a(a2i((new IO).in_string())+1).concat("\\n"))
};
};
A2I 需要 atoi.cl 需要将 atoi.cl 放在同一目录下 coolc xx.cl atoi.cl 一起编译
class Main inherits A2I{
main(): Object{
(new IO).out_string(i2a(fact(a2i((new IO).in_string()))).concat("\\n"))
};
fact(i: Int): Int{
if(i=0) then 1 else i*fact(-1) fi
};
};