很明显,Ruby和Sass,但其他一些呢?目前支持mixin的语言有哪些?
2
A
回答
4
Wiki有一个列表
http://en.wikipedia.org/wiki/Mixin#Programming_languages_that_use_mixins
引述:
编程使用除食用香精CLOS( Common Lisp的一部分)的混入
其他语言,一些使用 mixin的语言是:
* ColdFusion (Class based using includes and Object based
by assigning methods from one object to another at runtime)
* Curl(with Curl RTE)
* D (called "template mixins")
* Factor[citation needed]
* Fantom
* Ioke
* JavaFX Script
* JavaScript
* Object REXX
* OpenLaszlo
* Perl[3]
* PLT Scheme (mixins documentation)
* Python
* Ruby
* Scala
* Smalltalk
* Strongtalk
* Vala
* Visual Dataflex
* XOTcl/TclOO (object systems for Tcl)[4]
像ECMAScript的 一些语言(通常被称为JavaScript的) 不支持的语言 水平混入,但可以很容易地通过 复制方法从一个对象模仿他们 另一个在运行时,从而 “借用”mixin的方法。注 ,这是不可能与 静态类型的语言,其中 对象的签名被固定在编译 时间。
0
0
JavaScript支持它们。您可以随时将函数/字段添加到对象的原型。
1
0
Perl的Roles可以称为mixin。
1
_why的potion语言突飞猛进。这个想法是对象有状态和方法。在大多数语言中,状态发生在对象中,方法发生在类中。在魔药中,物体只有状态,方法完全由mixin处理。
要从自述
一切都是对象引用。即使 MIXINS是对象。和,课程, 关闭是对象。
但是,目标不是一切。他们是无用的,没有MIXINS。
在旁边注意,我想念为什么。我们需要更多的人做这样的野生东西
相关问题
- 1. 支持哪些语言的nltk.word_tokenize和nltk.pos_tag
- 2. Eclipse不支持哪些编程语言?
- 3. Xcode 6支持哪些语言?
- 4. 哪些.NET语言对扩展方法有语法支持?
- 5. 目前哪些浏览器支持XBAP?
- 6. Django支持哪些语言?我找不到完整的列表
- 7. 哪些编程语言可以支持变异测试?
- 8. Google Cloud Natural Language API支持哪些自然语言?
- 9. Hyperledger Fabric支持哪些编程语言和数据库?
- 10. 哪些语言更好地支持原始套接字?
- 11. 哪些Android设备支持en_CA语言环境?
- 12. 除C++外,哪些编程语言支持运算符重载?
- 13. Facebook Messenger平台支持哪些语言环境?
- 14. iOS 4和5支持哪些语言环境?
- 15. Android多语言和少数语言支持语言不支持语言区域
- 16. 哪些语言支持没有样板代码的返回值缓存?
- 17. 支持RTL语言
- 18. 多语言支持
- 19. 多语言支持
- 20. EditText语言支持?
- 21. Yocto语言支持
- 22. 语法与支持语言
- 23. 仅支持有限数量的语言
- 24. E语言支持D语言
- 25. Django的多语言支持
- 26. Android上的语言支持
- 27. Mongodb的多语言支持
- 28. JSF支持的语言
- 29. 哪些浏览器目前支持HTML5 contextmenu属性?
- 30. Google Spell的可用语言有哪些?
猴子修补!= mixins – 2010-04-06 02:22:26
@Matt Briggs然而,考虑到JS的某些风格 - 特别是支持设置__proto__的风格,您可以获得与Ruby混合类似的效果通过手动管理'[[prototype]]'链。我相信你也可以用精心构造的定义来做类似的事情,但是在这种情况下,'[[prototype]'在构建时仍然是固定的,使得它更像是一个'动态设置的SI'混合。 – 2010-04-06 02:28:23
@Matt Briggs,您是对的,并且将功能添加到原型并在其他功能中进行混合与Monkey Patching不同。猴子修补是相关的但分开的;通过将替换函数分配给原型来替换现有的功能。幸运的是JS支持两者。 – 2010-04-06 03:56:56