diff --git a/content/mimiumのREPLをVMで実装.md b/content/mimiumのREPLをVMで実装.md index 0882cce4..16016c30 100644 --- a/content/mimiumのREPLをVMで実装.md +++ b/content/mimiumのREPLをVMで実装.md @@ -169,7 +169,19 @@ fn dsp(){ dsp内で`mysynth({..})`と実行してしまうと、これがグローバルなコンテキストで作られない可能性がある・・のか?いや、でも基本的に書き換えられる心配はないからいいのかな -デフォルト引数構造体のインスタンスはグローバル評価で行われて、 +デフォルト引数構造体のインスタンスは必ずグローバル評価で行う、だとパラメトリックな生成はできないし問題起きそう + +```rust +//自動キャストとジェネリクスの組み合わせさえうまくいけばこのくらいのことはできそう +let p = param({..}); +fn dsp(){ + p |> + |gate = 0,freq = 1000,gain = 1.0|{ + ...//do something + } +} +``` + ということは、とりあえず雑にParamを実装して \ No newline at end of file