为什么Sub openxXML()
Dim xml As Workbook
Dim varxml As Variant
varxml = Application.GetOpenFilename("Alle Data (*.*), *.*,XML-Data(*.xml),*xml*", 2, "Choose XML-File", _
"choose", False)
If varxml = False Then
MsgBox "No Data selected"
End If
End Sub
方法中的type
变量可用于以下内容?
is_a_peacock?
为什么评论class Animal
attr_reader :type
def initialize(type)
@type = type
end
def is_a_peacock?
if type == "peacock"
return true
else
return false
end
end
end
an = Animal.new('peacock')
puts an.is_a_peacock? # => true
的初始化会使@type
无效?
type
答案 0 :(得分:1)
你可以认为attr_reader :type
正在为你做这件事:
def type
@type
end
但它不会根据你传入初始化程序的内容自动分配实例变量,就像你似乎认为的那样。
由于您不再@type = type
,@type
保持默认值nil
。默认情况下,每个实例变量都为nil。
在旁注,而不是
if type == "peacock"
return true
else
return false
end
你可以写
type == "peacock"
答案 1 :(得分:1)
"为什么评论
@type
的初始化使type
无效?"
没有。方法type
可用。只是没有初始化。因为你评论了这一点。
如果方法type
不可用,您的程序将崩溃。 (正如您在注释attr_reader
时那样)。
答案 2 :(得分:1)
为什么
type
方法中的is_a_peacock?
变量可用于以下内容?
你对这个问题的预设并不成立。 type
方法体内的is_a_peacock?
不是局部变量。这是一个方法调用。
为什么评论
@type
的初始化会使type
无效?
没有。方法type
可用,返回@type
的值,默认为nil
。