在Ruby中,一切皆对象,这是其核心设计哲学。以下是关于Ruby对象的完整解析:
obj.define_singleton_method
)。class_eval
)。attr_accessor
自动生成getter/setter。# 基础对象
str = "Hello" # String对象
num = 42 # Integer对象
# 自定义类
class Person
attr_accessor :name
def initialize(name)
@name = name
end
end
p = Person.new("Alice") # Person对象
==
比较对象ID,需重写方法。
解决:==
比较对象ID,需重写方法。
解决:method_missing
动态处理:method_missing
动态处理:clone
与dup
浅拷贝。
解决:深拷贝需手动实现或使用Marshal
:clone
与dup
浅拷贝。
解决:深拷贝需手动实现或使用Marshal
:ActiveRecord
)。Proc
/Lambda
作为一等公民对象。self
的上下文变化?Object#class
与Object#methods
的用途?Kernel#send
的作用?若对上述问题清晰,则基础理解正确。遇到具体问题可结合代码进一步分析。
没有搜到相关的文章