質問: channelTimeDomainConvolution(signal.map! {|a| a + @_paCoef * a * a.abs2}).map {|a| a * a.abs2} return distPA, distLNA end ``` Rubyは引数による変数の渡しはでき,受けができないはずなのですが,この原因がわかりません. さらに,`dup`(少し浅い)及び`deep_dup`(深い)でコピーしてもどちらもメソッド後に信号が変化してしまいます. どのようにしたら`txs`は変化しないようにできますでしょうか. ご教授お願いいたします.
回答: `!`の破壊的メソッドを使用していたため,`makeNolinearSignal`メソッドの引数`signal`にそのまま`map`されることが原因と判明しました.