具有单个字符串参数的方法示例

时间:2015-01-30 11:21:05

标签: ruby

有人可以给我一个接受单个字符串参数的方法示例。虽然我很欣赏这似乎微不足道,但我试图理解这在红宝石中是如何工作的。下面的语法是否正确。

Def method("argument")
  true
end 

3 个答案:

答案 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

您也可以查看一些教程

http://www.tutorialspoint.com/ruby/ruby_methods.htm

http://www.skorks.com/2009/08/method-arguments-in-ruby/