Ruby语言是解释性语言,故其在语法上,所有的语句皆是可执行的。以此观点看待类的定义和方法的定义,很多令人迷惑之处就自动解开了。
class Foo < (user_input == '1' ? Bar : Baz) # 如果用户输入是"1"则继承Bar否则继承Baz
#...
end
在诸如Java这样的语言中,这样的语法简直无法想象。
本文探讨了Ruby语言作为解释性语言的特点,特别关注其动态继承机制如何通过条件语句实现灵活的类继承,与Java等静态语言形成鲜明对比。
Ruby语言是解释性语言,故其在语法上,所有的语句皆是可执行的。以此观点看待类的定义和方法的定义,很多令人迷惑之处就自动解开了。
class Foo < (user_input == '1' ? Bar : Baz) # 如果用户输入是"1"则继承Bar否则继承Baz
#...
end
在诸如Java这样的语言中,这样的语法简直无法想象。
230
237

被折叠的 条评论
为什么被折叠?