[obsidian] vault backup: 2024-07-26 13:26:12[

This commit is contained in:
松浦 知也 Matsuura Tomoya 2024-07-26 13:26:12 +09:00
parent 586af8e686
commit e2f051f1a9

View File

@ -47,7 +47,7 @@ fn dsp(input){
クロージャで内部状態をミュータブルに変更する目的を達成するのであれば、この2つは同じインスタンスに対する呼び出しであるが、信号処理としては別々の内部状態インスタンスを持つと考える方が自然に読める クロージャで内部状態をミュータブルに変更する目的を達成するのであれば、この2つは同じインスタンスに対する呼び出しであるが、信号処理としては別々の内部状態インスタンスを持つと考える方が自然に読める
解決策としては、そもそも変数に対して一切の再代入を認めない実装にしてしまうこと。そうすると、クロージャが生成された時にfilterのような関数を含む上位値はdeep-copyされる実装にできる。まあ、こうすると実装に[[upvalue]]を使う旨みはほとんどなくなるが 解決策としては、そもそも変数に対して一切の再代入を認めない実装にしてしまうこと。そうすると、クロージャが生成された時にfilterのようなクロージャを含む上位値を全てdeep-copyしてしまう実装にできる。(まあ、こうすると実装に[[upvalue]]を使う旨みはほとんどなくなるが
意味論を変えないまま2つのfilterを区別するならこんな感じにサンクを挟むことになる 意味論を変えないまま2つのfilterを区別するならこんな感じにサンクを挟むことになる