我正在玩Facebook新的Flow Type检查系统.
在Flow中,遇到Underscore,它们似乎更改了此JavaScript代码
var root = this;
Run Code Online (Sandbox Code Playgroud)
进入这个
var root: any = this;
Run Code Online (Sandbox Code Playgroud)
但这不再是有效的JavaScript,对吧?我理解为什么外部接口文件会有用,但是如何将类型注释直接添加到有效的JavaScript源代码中?
以前,Google Closure编译器和其他项目用于JS评论.
我正在学习Rust以及extra :: json模块.这是我的示例(带有额外的不需要的类型注释):
let j:Result<Json,JsonError> = from_str("[{\"bar\":\"baz\", \"biz\":123}]");
let l:List = match j {
Ok(List(l)) => l,
Ok(_) => fail!("Expected a list at the top level"),
Err(e) => fail!(fmt!("Error: %?", e))
};
println(fmt!("item = %?", l.iter().advance(|i|{
match i {
&Object(o) => {
println(fmt!("Object is %?", o));
},
_ => {
fail!("Should be a list of objects, no?");
}
}
println(fmt!("i=%?", i));
true
})));
Run Code Online (Sandbox Code Playgroud)
当我编译时,我得到这个:
$ rust run json.rs
json.rs:70:9: 70:18 error: cannot move out of dereference of & pointer
json.rs:70 …Run Code Online (Sandbox Code Playgroud)