Rubyの定数ネストされたクラスとサブクラスでの参照-相違点
1248 ワード
#
class Drawing
PI = 123123
def Drawing.give_me_a_circle
Circle.new
end
def xpi
PI
end
class Line
end
class Circle
def what_am_i
"This is a circle"
end
def pi
PI
end
end
end
#
class SubDrawing < Drawing
end
# :
PI = 3.1415926
circle = Drawing.give_me_a_circle
drawing = Drawing.new
subdrawing = SubDrawing.new
print "circle.pi=" , circle.pi , "
"
print "Drawing::Circle::PI=" , Drawing::Circle::PI , "
"
print "subdrawing.pi=" , subdrawing.pi , "
"
print "SubDrawing::PI=" , SubDrawing::PI , "
"
print "drawing.pi=" , drawing.pi , "
"
print "Drawing::PI=" , Drawing::PI , "
"
#
class.rb:114: warning: toplevel constant PI referenced by Drawing::Circle::PI
circle.pi=123123 #
Drawing::Circle::PI=3.1415926 #
subdrawing.pi=123123
SubDrawing::PI=123123
drawing.pi=123123
Drawing::PI=123123
##
——
: ,
: , ; ( :Drawing::Circle::PI),