有没有办法创建像这个Python代码的本地函数?
def h():
final = []
def a():
for i in range(5):
final.append(i)
a()
return final
Run Code Online (Sandbox Code Playgroud)
我试过了,但失败了:
fn h() -> Vec<i32> {
let mut ff = vec![];
fn a() {
for i in 0..5 {
ff.push(i)
}
};
a();
ff
}
Run Code Online (Sandbox Code Playgroud)
error[E0434]: can't capture dynamic environment in a fn item; use the || { ... } closure form instead
--> src/main.rs:5:13
|
5 | ff.push(i)
| ^^
Run Code Online (Sandbox Code Playgroud) 此代码显示在Rust编程语言中:
#![feature(box_syntax, box_patterns)]
fn main() {
let b = Some(box 5);
match b {
Some(box n) if n < 0 => {
println!("Box contains negative number {}", n);
}
Some(box n) if n >= 0 => {
println!("Box contains non-negative number {}", n);
}
None => {
println!("No box");
}
_ => unreachable!(),
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行它时,会发生以下错误:
error[E0554]: #[feature] may not be used on the stable release channel
Run Code Online (Sandbox Code Playgroud)
我也试过了
fn main() {
let b = Some(box 5);
}
Run Code Online (Sandbox Code Playgroud)
error: …Run Code Online (Sandbox Code Playgroud)