在Ruby中,这样的代码是合法的:
class Aclass
m = 1
end
但从语义上讲,m
会是什么,以及它应该如何被访问?
答案 0 :(得分:8)
m
只是一个局部变量。它只能在类定义中访问。例如,它可以用于引导类,但不能从其他任何地方访问它。
例如:
class Aclass
m=1
puts "m is #{m}"
end
当您需要包含该类的文件时,该代码只会运行一次。这有点类似于Java的static initialisation blocks。
答案 1 :(得分:2)
我不确定m
的语义术语是什么,但它只是该类范围内的常规变量。您将无法在课堂外访问它(甚至在类中定义的方法中也没有。)