所以我有这个代码:
class Door
# ...
def info attr = ""
return {
"width" => @width,
"height" => @height,
"color" => @color
}[attr] if attr != ""
end
end
mydoor = Door.new(100, 100, "red")
puts mydoor.info("width")
puts mydoor.info
Run Code Online (Sandbox Code Playgroud)
如果没有提供参数,方法"info"应返回散列,否则返回散列中参数的值.我怎样才能做到这一点?
def info(arg = nil)
info = {"width" => @width,
"height" => @height,
"color" => @color}
info[arg] || info
end
Run Code Online (Sandbox Code Playgroud)