星期五, 五月 09, 2014

第一个rust 程序看rust语法变化中

开始只是熟悉一下rust的标准库的使用,得到当前系统的时间,看文档基本来自C的标准了。在使用的过程中简单实现一些traits语法。用了一下字符串
结果引出了一些列的错误。
先是 name:str的语法是错误的,rust并不认为str是一个type,出现了错误:
bare 'str' not a type ,翻看0.10 std::str的说明,找到了原因,必须将str
修饰为~string或者&str才为一个类型,这样编译器才让pass。
然后在初始化的数据的时候 使用name:~"your name",出现提示 让使用box 操作符。然后换为 box "your name",又出现错误,说这个语法表达已经被放弃了,使用str的特性(traits)方法to_owned(),才最终编译通过了。
 可见rust 现在所有的语法树等基本核心还没有稳定,但该语言融合C和其他高级语言的特性,让人激动。

extern crate time;
use std::str;

struct test
{
 name:~str,
 tall:int
}
impl test
{
fn tostr(&self){
 println!("{}",self.name);
 println!("{}",self.tall);
}
}
fn main()
{
println!("{:?}",time::now());
println!("{}",time::now().rfc822());
let a = test{name: "your name".to_owned(),
tall:1000};
a.tostr();
}