1
4
你所描述的听起来在scala中是不可能的(它实际上没有在构造函数上进行抽象的工具),而且不知道你更具体的更大目标,很难提供好的建议,但是下面是一个scala惯用的解决方案,它提供了你想要的用法。
第一步是写一个 类型类 它捕获了您需要的操作:
您可以将这种类型的实例视为可以对某些
接下来你会写下你的
这个
现在您可以编写一个特定的类,它可以用作
你会得到你想要的用法:
如果你控制了
|
2
0
我自己想出了一个答案,我想和大家分享… 所以MyClass有一个类型参数,它可以有一个函数作为参数,如下所示:
然后为匿名函数提供其主体中的构造函数:
当然,这看起来很难看,但在我的例子中,它似乎比Travis的解决方案更实用,因为我有很多计算器,我不打算为每个计算器或每次我想运行计算器时都创建工厂对象
所以如果你有很少的计算器和对myclass的大量调用,Trevis的解决方案肯定更好,否则这可能是有用的… |
davidzxc574 · 将字符串缩放为字符 2 年前 |
yic_l · 什么是“!”在这个函数中是什么意思? 2 年前 |
Jelly · Scala:用于理解递归未来 2 年前 |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
Iheb Mar · 卡夫卡制作人/消费者粉碎每一秒的API调用 2 年前 |
B. Bal · 在Scala中重用类成员 2 年前 |