最近正在学习 ruby,关于嵌套类方面遇到一个问题,希望能够得到帮助:
class Drawing
def Drawing.give_me_a_circle
Circle.new(first_name) #Q1
end
class Line
end
class Circle
def initialize(first_name)
@first_name = first_name
end
def what_am_i(name)
@last_name = name
"Hi,#{@first_name} #{@last_name},This is a circle!"
end
end
end
#方法一:
a = Drawing.give_me_a_circle("Cameron") #Q2
puts a.what_am_i("Anthony")
#方法二
b = Drawing::Circle.new ("Kevin")
puts b.what_am_i("Durante")
方法二正常显示没有问题,但在方法一中,在 Q1 和 Q2 处,无论删除掉哪个或者都存在,都不能正常显示。我的问题是:在嵌套类里面怎样使用 initialize 中的变量 (使用方法一的方式)?
非常感谢!