5
impl
ブロック内に定義された関数のスコープが正確に何であるかを理解しようとしていますが、&self
をパラメータとして受け入れません。たとえば、次のようなコードをコンパイルできないのはなぜですか?私はエラー "この範囲内に関数generate_a_result
が見つかりません"を取得します。構造体所有関数の錆のスコープ規則
pub struct Blob {
num: u32,
}
impl Blob {
pub fn new() -> Blob {
generate_a_result()
}
fn generate_a_result() -> Blob {
let result = Blob {
num: 0
};
result
}
}