问题标签 [traits]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala trait 和 C++ 概念之间的区别
Scala trait Haskell 类型类和 C++0x 概念有什么区别?
就像下面这个例子中 Observer 声明一个抽象成员 receiveUpdate Observer 实际上是一个“匿名”类型或结构类型。
scala - 算法混合
我有一个扩展迭代器并为复杂算法(MyAlgorithm1)建模的类。这样,算法就可以通过Next方法一步步推进。
现在我想在第一个算法的每次传递中应用不同的算法(MyAlgorithm2)。应该插入算法1和2的迭代
我怎样才能以最好的方式做到这一点?也许有一些特质?
更新:
MyAlgorithm2 接收一个集合并对其进行转换。MyAlgorithm1 也是如此,但这更复杂,需要逐步运行。这个想法是运行 MyAlgoirthm1 的一步,然后运行 MyAlgorithm2。下一步相同。确实,MyAlgorithm2 简化了集合,并且可能有助于简化 MyAlgorithm1 的工作。
scala - 关于特质的问题
以下两者有什么区别?
1#
2#
A
抽象类在哪里。
>> 编辑:
请针对以下Duck
具有可插拔飞行和呱呱声行为的 s 示例进行说明:
输出:
我可以飞!:D
<< 沉默>>
c++ - C++ 提升模板参数特征
我相信我在 boost 中看到了恢复模板模板参数的宏,例如:
有没有这样的,还是我错了?
谢谢
scala - 实现具有特征、编译器行为不一致的抽象方法?
我有一个来自 Java 库的基类,我无法修改其代码。这个类(A)有一个空方法(b),它应该被声明为抽象:
我在 Scala 中扩展了这个类并重写了该方法以使其抽象:
现在我在一个特征中实现这个方法:
如果我用特征 B 扩展 AA,我会得到一个错误:覆盖类型 A 中的方法 b => Unit; 类型 => 单元的特征 B 中的方法 b 需要 `override' 修饰符:
相反,如果代码是这样的,所有的东西都编译没有错误,这对我来说似乎有点矛盾:
我正在运行 Scala 2.8.0RC3,并且对这种语言完全陌生(3 天)。另一个奇怪且相关的行为是在使 b 抽象时不需要覆盖标签:
smalltalk - 使用 Traits,我应该使用 T 前缀,如果是,则将其放在任何其他前缀之前或之后?
在 Pharo+Squeak 中创建 Traits 时,是否适合使用 T 前缀,如 TMyTrait,如果是,T 应该放在任何其他前缀之前,如 TMPMyTrait(其中“MP”是另一个前缀),还是之后,如 MPTMyTrait
smalltalk - 特质是好是坏?
这是一个开放式问题,但我想征求 SO 社区关于 Traits 的一些意见;你认为 Squeak/Pharo 中的 Traits 是一件好事,还是应该远离它们而使用组合和委托?我问是因为虽然我知道如何使用它们(感谢 Pharo 的书),但我不确定使用它们的可接受程度,或者在哪里可以使用它们,在哪里不可以。
scala - 如何在 scala 的泛型方法中创建特征的实例?
我正在尝试使用此方法创建特征的实例
这很好用,但我想将此创建移到生成器函数中,即。
我显然需要清单以某种方式修复类型擦除问题,但在我开始之前,我遇到了 2 个问题:
即使有一个隐含的清单,Scala 仍然要求 T 是一个特征。如何为 create[T] 添加限制以使 T 成为特征?
如果我选择使用 Class.newInstance 方法动态创建实例而不是使用“new”,我将如何在“new Object with T”中指定“with”?是否可以在运行时动态创建新的具体 mixin 类型?
python - Python:元类一路向下
我有一个涉及 Python 元类的深奥问题。我正在为 Web 服务器端代码创建一个 Python 包,这将使通过客户端代理访问任意 Python 类变得容易。我的代理生成代码需要一个包含我想要包含在我的 API 中的所有 Python 类的目录。为了创建这个目录,我使用__metaclass__
特殊属性在类创建过程中加入了一个钩子。具体来说,“已发布”API 中的所有类都将子类化一个特定的基类 ,PythonDirectPublic
该基类本身具有一个__metaclass__
已设置为记录有关类创建信息的类。
到现在为止还挺好。变得复杂的地方是我希望我PythonDirectPublic
自己从第三方类(enthought.traits.api.HasTraits
)继承。这个第三方类也使用__metaclass__
.
那么管理两个元类的正确方法是什么?我的元类应该是 Enthought 元类的子类吗?或者我应该只是在我的元类方法中调用 Enthought 的元类__new__
来获取我将返回的类型对象?还是在这种特殊情况下可以使用其他一些神秘的咒语?
scala - 在工厂中使用特征
我目前正在发现 scala,我想知道是否可以在工厂中使用特征。
我试过这个:
我想这是因为with
必须在前面加上new
.
那么有没有办法做到这一点?
谢谢