为什么Matrix类没有方法来编辑它的向量和组件?看起来矩阵内的所有内容都可以读取但不能写入.我错了吗?是否有一些第三方优雅Matrix的类允许我删除行并故意编辑它们?
如果没有这样的课程,请通知我 - 我会停止搜索.
类的设计者Matrix必须是不可变数据结构和函数式编程的粉丝.是的,你是对的.
在任何情况下,都有一个简单的解决方案,你想要什么.用Matrix它可以做什么,然后,只是.to_a用来获得一个真正的数组.
>> Matrix.identity(2).to_a
=> [[1, 0], [0, 1]]
Run Code Online (Sandbox Code Playgroud)
另请参见Numerical Ruby Narray.您还可以monkeypatch该类以添加更多行为.如果你这样做,请修补Matrix的子类.(有些Ruby项目需要更多来自required类的行为,所以他们直接修改它们,使他们的新文件有点有毒.他们可以很容易地修补子类或单例类.)
哦,khelll(:-)可能会让我说你很有可能在功能风格上做你想做的事.也就是说,通过创建新对象而不是修改旧对象.
| 归档时间: |
|
| 查看次数: |
1671 次 |
| 最近记录: |