有人可以给我一个接受单个字符串参数的方法示例。虽然我很欣赏这似乎微不足道,但我试图理解这在红宝石中是如何工作的。下面的语法是否正确。
Def method("argument")
true
end
答案 0 :(得分:1)
你需要自己检查它是否是一个字符串。您可以使用is_a?
来查看它是否为String
,因为Ruby是动态类型的。
def add_watson(f_name)
f_name << " Watson" if f_name.is_a? String
end
现在,称之为
puts add_watson("Emma") #=> Emma Watson
答案 1 :(得分:1)
def
关键字是小写的。此外,方法参数的编写方式与此def my_method(argument)
类似,此时它不会检查它是否为字符串,实际上它可以接受任何对象,因为Ruby是动态输入的。如果要强制String
实例作为参数,可以在方法体内执行:
def my_method(argument)
raise ArgumentError, "argument must be a String" unless argument.is_a? String
true
end
答案 2 :(得分:-1)
你的语法错了。
def method(arg)
puts "arg"
end
您也可以查看一些教程