问题标签 [mixins]

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.

0 投票
2 回答
3329 浏览

ruby-on-rails - 初始化混入模型的模块

我有这个:

和这个

当我创建 Bullet 实例时,模块初始化方法会触发,但出现 ActiveRecord 错误:...activerecord-2.2.2/lib/active_record/attribute_methods.rb:268:in `read_attribute'

我的意图是初始化一个实例变量,我需要我要混入的记录的主键值。然后模块中的其他方法将使用此实例变量。

模块included() 回调也不适合任务,因为在这种情况下,self 是模块而不是AR 记录。

应该如何处理?

谢谢

0 投票
1 回答
113 浏览

python - 提取页面元数据会很好地利用多重继承吗?

我想知道我是否有几个模型都包含“meta_keywords”或“slug”之类的字段,这些字段与将显示模型实例的网页有关,是否建议将这些页面元数据元素分开进入他们自己的类,比如PageMeta,并让我的其他模型通过多重继承继承这些模型?

0 投票
1 回答
985 浏览

ruby-on-rails - 重写控制器中的基类方法

我试图欺骗一个非常复杂的黑盒子以不同的方式显示一些浮点数(它是 Gruff 图形库,所以它被渲染为图像)。

在控制台中,我可以粘贴这个:

我会看到

但是如果我将相同的代码粘贴到控制器中,我会看到

为什么我不能在控制器中替换 Float.to_s?我也将接受对“什么是更好的方法来实现这一点?”这个问题的回答。

0 投票
2 回答
45350 浏览

scala - 在 Scala 中混合多个特征

快速说明:教程Scala for Java Refugees Part 5: Traits and Types中的示例。

假设我具有 Student、Worker、Underpaid 和 Young 的特征。

我如何声明一个具有所有这些特征的类(而不是实例)CollegeStudent?

注意:我知道最简单的情况,例如具有一两个特征的 CollegeStudent:

0 投票
1 回答
1961 浏览

actionscript - 如何在 AS3 应用程序中使用 [mixin] 标签?

我在 Flex Builder 3 中有以下两个项目:

  • 一个 AS3 库项目(生成 SWC 文件)

  • 一个 Flex 应用程序项目(MXML 应用程序)

MXML 应用程序引用了 AS3 库项目(Flex 构建路径)。到现在为止还挺好。我现在想在应用程序使用 AS3 库时自动运行代码。[mixin] 标签应该完全符合我的需要。

我按照http://nondocs.blogspot.com/2007/04/metadatamixin.html的说明查看了 AutoQuick 项目。后者是 Adob​​e 的一个示例项目,展示了自动化框架的使用。在这个项目中,他们使用 [mixin] 标签(AQAdapter 类)。

我按照示例进行操作,但我的代码不起作用。不调用静态 init 方法。我将该库添加到编译器参数列表中也不起作用。

我怎样才能让它工作?

0 投票
5 回答
1540 浏览

ruby-on-rails - 为什么 DataMapper 使用 mixins 与继承?

所以我只是好奇这个:

DataMapper 为其模型使用 mixin

虽然活动记录使用继承

有谁知道为什么 DataMapper 选择这样做(或者为什么 AR 选择不这样做)?

0 投票
2 回答
1428 浏览

python - 我如何才能找到在基本测试类上定义的类属性?

我正在对数据库运行一些集成测试,我希望有一个看起来像这样的结构:

这样,我可以像这样分别运行 SQL Server 测试和 Oracle 测试:

或者像这样的所有集成测试:

但是,nose 似乎只会在子类上查找属性,而不是在基类上。因此我必须像这样定义测试类,否则测试将无法运行:

维护起来有点繁琐。任何想法如何解决这个问题?如果我只是处理一个基类,我只需使用一个元类并定义每个类的属性。但是对于测试类的元类、Oracle 的元类和 SQL Server 的元类,我感到不安。

0 投票
2 回答
956 浏览

ruby - 如何编写卫生的 Ruby mixin?

假设我正在编写一个向第三方类添加功能的 mixin 模块。显然,我想让第三方类及其客户端可以访问一些方法和实例变量。这些构成了 mixin 模块的公共接口。

但我希望封装某些其他方法和实例变量。我不希望我正在混入的类可以访问它们,特别是我不希望它们意外覆盖、隐藏、冲突或以其他方式干扰 mixee 类的方法或实例变量——无论是那些如果第三方修改了我正在混入的类,则可能当前存在,或者将来可能创建的那些。

我需要采取哪些预防措施(如果有的话)以确保我的 mixin 以这种方式“卫生”?

0 投票
4 回答
2868 浏览

objective-c - Objective-C 类别与 Mixins 的比较

Objective-C 类别的概念是否类似于 mixins 的概念?如果是这样:有什么相似之处?在不:有什么区别?

0 投票
7 回答
36495 浏览

ruby - 红宝石继承与混合

在 Ruby 中,由于您可以包含多个 mixin,但只能扩展一个类,因此看起来 mixins 比继承更受欢迎。

我的问题:如果您正在编写必须扩展/包含才能有用的代码,您为什么要把它变成一个类?或者换一种说法,你为什么不总是把它做成一个模块呢?

我只能想到你想要一个类的一个原因,那就是你需要实例化这个类。然而,在 ActiveRecord::Base 的情况下,您永远不会直接实例化它。那么它不应该是一个模块吗?