用Ruby比较两个字符串的长度

时间:2017-05-23 14:56:11

标签: ruby string-length

使用名为first_longer_than_second的参数和另一个名为first的参数定义名为second的方法。如果传入的true字大于或等于first字的长度,则该方法将返回second。否则返回false。以下是调用方法和预期返回的方法:

这就是我所拥有的:

def first_longer_than_second(first, second)
   if first.length >= second.length
     puts true
   else
     puts false
   end
end

我收到错误,我不确定原因。

1 个答案:

答案 0 :(得分:2)

>=这样的Ruby比较运算符自然会返回布尔值。您不需要使用条件,并且几乎不想返回truefalse的字符串等价物。此外,Ruby约定是在返回布尔值的方法名称中使用问号。

对于这种方法,Ruby让我们写下这个:

def first_longer_than_second?(first, second)
  first.length >= second.length
end

然后你可以调用这样的方法:

>> first_longer_than_second?('hello', 'sir')
=> true

请注意,方法名称有点令人困惑,因为如果firstsecond的长度相同,则返回true。您可以考虑根据需要重命名方法。名字很重要!