From 5ccf09c98f43f1a791089c18b9cc31e3d0ddc43a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E6=B5=A6=20=E7=9F=A5=E4=B9=9F=20Matsuura=20Tomoy?= =?UTF-8?q?a?= Date: Tue, 1 Jul 2025 18:42:02 +0900 Subject: [PATCH] [obsidian] vault backup: 2025-07-01 18:42:02[ --- content/mimiumのREPLをVMで実装.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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