3
|
missingfaktor Kevin Wright · 技术社区 · 14 年前 |
![]() |
1
5
这是完全有可能的(我自己也这么做过),有适当的含蓄,尽管结果并不总是像一种从头开始设计的语言那样天衣无缝。
例如,假设您希望将整数数组视为向量,并希望能够将它们相互相加和添加到标量中。你必须自己定义操作——Scala猜不出是什么
如果您想覆盖所有的数据类型,它就变得更加复杂了(您至少需要使用泛型和数字——或者编写一个代码生成器来覆盖您需要的情况),为了提高效率,您可能需要创建一个定制的“matrix”类,而不是继续使用原始数组,而这些数组需要额外的功能来包装。
这包括基本操作。对于数学函数,如
或者你可以使用一个已经为你做了很多的图书馆。(Scalala是我所知道的矩阵的最佳候选者。) |
![]() |
2
5
没有任何真正的方法来自动提升Scala操作,因为您需要支持APL和J等数组编程语言。Scala中最接近数组自动提升的是隐式转换,这是不太正确的。Scala隐式转换走相反的路,转换操作的目标,而不是操作本身。即使这样,Scala隐式转换也不会连锁,因此即使可以将标量操作提升到向量(不能提升),也不会自动将其提升到二维或更高的数组。
|
![]() |
3
5
scalala 你在找什么? |
![]() |
Sudhanva c · 如何提高编码技能?[已关闭] 7 年前 |
![]() |
hoffm · 为什么Ruby找不到调用方类中定义的常量? 7 年前 |
![]() |
Thamme Gowda · “lambda”关键字的较短替代项? 7 年前 |
![]() |
AlphaModder · 有没有带有“不寻常”访问修饰符的编程语言? 9 年前 |
|
lucasasecas · 有可能静态地使用动态语言吗? 10 年前 |
|
Eugenio Laghi · 仅由括号、加号和感叹号组成的语言 10 年前 |
![]() |
dallin · 数组中的逗号运算符是否有名称? 11 年前 |