【发布时间】:2014-11-01 02:18:20
【问题描述】:
在 Rust 中有任何方法可以创建一个 local 函数,该函数可以多次调用。我在 Python 中这样做的方式是:
def method1():
def inner_method1():
print("Hello")
inner_method1()
inner_method1()
【问题讨论】:
标签: rust
在 Rust 中有任何方法可以创建一个 local 函数,该函数可以多次调用。我在 Python 中这样做的方式是:
def method1():
def inner_method1():
print("Hello")
inner_method1()
inner_method1()
【问题讨论】:
标签: rust
是的,你可以在函数内部定义函数:
fn method1() {
fn inner_method1() {
println!("Hello");
}
inner_method1();
inner_method1();
}
但是,内部函数无法访问外部范围。它们只是普通函数,无法从函数外部访问。但是,您可以将变量作为参数传递给函数。要定义一个具有特定签名的函数,仍然可以从外部范围访问变量,您必须使用闭包。
【讨论】: