这是一个代码示例:
class Book
def initialize
@v = "abc"
end
end
b = Book.new
b.instance_eval do
def book_name
end
end
为什么我们使用instance_eval
创建方法(book_name
)而不是在类中添加book_name
方法Book
?在上述情况下,book_name
使用创建的方法 ( )instance_eval
只能由对象访问。b
有什么特别的用例吗?