はじめに
この実験では、関数がクロージャをパラメータとして受け取る方法を学び、クロージャのトレイト境界を満たす任意の関数を引数として使用できるようになります。Fn
、FnMut
、およびFnOnce
トレイトは、クロージャが囲まれたスコープから変数をキャプチャする方法を規定します。
注: 実験でファイル名が指定されていない場合は、好きなファイル名を使用できます。たとえば、
main.rs
を使用して、rustc main.rs &&./main
でコンパイルして実行できます。
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"])
rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"])
rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"])
rust(("Rust")) -.-> rust/AdvancedTopicsGroup(["Advanced Topics"])
rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations")
rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax")
rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements")
rust/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers")
rust/AdvancedTopicsGroup -.-> rust/operator_overloading("Traits for Operator Overloading")
subgraph Lab Skills
rust/variable_declarations -.-> lab-99326{{"クロージャを関数パラメータとして"}}
rust/function_syntax -.-> lab-99326{{"クロージャを関数パラメータとして"}}
rust/expressions_statements -.-> lab-99326{{"クロージャを関数パラメータとして"}}
rust/lifetime_specifiers -.-> lab-99326{{"クロージャを関数パラメータとして"}}
rust/operator_overloading -.-> lab-99326{{"クロージャを関数パラメータとして"}}
end