使用名为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
我收到错误,我不确定原因。
答案 0 :(得分:2)
像>=
这样的Ruby比较运算符自然会返回布尔值。您不需要使用条件,并且几乎不想返回true
和false
的字符串等价物。此外,Ruby约定是在返回布尔值的方法名称中使用问号。
对于这种方法,Ruby让我们写下这个:
def first_longer_than_second?(first, second)
first.length >= second.length
end
然后你可以调用这样的方法:
>> first_longer_than_second?('hello', 'sir')
=> true
请注意,方法名称有点令人困惑,因为如果first
与second
的长度相同,则返回true。您可以考虑根据需要重命名方法。名字很重要!