【问题标题】:Stuck on LearnStreet Lesson 6.9卡在 LearnStreet 第 6.9 课上
【发布时间】:2014-07-23 00:01:10
【问题描述】:

我对 Ruby 很陌生,一直使用 LearnStreet 开始,但现在我被卡住了。

问题:

现在结合字符串插值和方法调用,你能不能完成方法name_length返回字符串,“Jack的名字有x个字母,姓有y个字母”。

提示:

提示 1 输入代码“#{first_name} 的名字有 #{first_name.length} 个字母和

我的回答:

def name_length(first_name, last_name)
    "#{first_name}'s first name has #.{first_name.length} letters and #{last_name} has #{last_name.length} letters"
end

我运行它时会发生什么:

“你返回的值是否正确?你是否使用过字符串插值并在 first_name 和 last_name 上调用了 length 方法?”

有趣的事:

如果我在回答之前写 puts,我会得到:

吉尔的名字有 4 个字母,安德森有 8 个字母 “你的方法没有返回值”

但问题是在寻找杰克……所以我不知道我做错了什么。

提前致谢!

【问题讨论】:

  • "#{first_name}'s first name has #{first_name.length} letters and #{last_name} has #{last_name.length} letters"。你不需要插入姓氏,它是and last name has
  • 为了扩展 BroiSatse 所说的内容,问题不在于它是 Jill 而不是 Jack。这只是 args 传递的问题。问题是您插入了 last_name,而您应该按字面意思输入它(而不是在 #{} 中)

标签: ruby


【解决方案1】:
  1. 您的方法不应使用puts - 听起来代码希望它只返回您生成的字符串的值 - 所以只需删除puts
  2. 正如@BroiSatse 所说-您不需要使用#{last_name}-答案需要“姓氏”一词,因此请在您的字符串中替换它
  3. 在您的代码示例中,#{ 之间有一个 ....这可能是一个错字,但如果您在实际代码中使用它,则会破坏事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 2019-09-19
    • 1970-01-01
    • 2017-09-28
    • 2020-08-10
    • 1970-01-01
    • 2020-11-24
    • 2019-05-15
    相关资源
    最近更新 更多