Matrix
クラスにはどのようにベクトルとコンポーネントを編集するメソッドがありませんか?行列の中のすべてが読み込み可能だが書き込まれていないようだ。私は間違っていますか?いくつかのサードパーティのエレガントなMatrix
クラスがあると、行を削除して意図的に編集することができますか?Rubyの限定マトリックス
このようなクラスがない場合はお知らせください。検索を停止します。
Matrix
クラスにはどのようにベクトルとコンポーネントを編集するメソッドがありませんか?行列の中のすべてが読み込み可能だが書き込まれていないようだ。私は間違っていますか?いくつかのサードパーティのエレガントなMatrix
クラスがあると、行を削除して意図的に編集することができますか?Rubyの限定マトリックス
このようなクラスがない場合はお知らせください。検索を停止します。
クラスMatrix
の設計者は、不変のデータ構造と機能プログラミングのファンであったに違いない。はい。それで合っています。
いずれにしても、必要なものに対して簡単な解決策があります。何ができるのかをMatrix
とし、.to_a
を使って実際の配列を取得してください。
>> Matrix.identity(2).to_a
=> [[1, 0], [0, 1]]
Numerical Ruby Narrayも参照してください。クラスをモンキーにして、より多くの動作を追加することもできます。これを行う場合は、Matrixのサブクラスにパッチを当ててください。 (require
dクラスのより多くの動作を望むRubyライブラリプロジェクトがあり、それらを直接変更して新しいファイルをいくらか毒性を持たせます。
ああ、 khelll(:-)おそらく、あなたが望むことをするための方法がかなりあると私は言っているでしょう。in a functional styleつまり、古いオブジェクトを変更するのではなく、新しいオブジェクトを作成します。
これで何をしているのか説明できますか? – khelll
私は '悪い'行と列(全体がゼロで構成されています)を探していて、次にそれらを削除したいと思います。私はすでにそれを行うコードを持っていますが、配列を介して完全に書かれています。それにもかかわらず、私はより正確できれいな解決策を見つけようとしています。 – gmile