困在Learnstreet Ruby课程7.9介绍||操作者

时间:2013-12-18 21:28:58

标签: ruby

尝试学习Ruby作为我的第一门编程语言。到目前为止,我对一切都很了解,但我在这个练习中画了一个空白,不知道在哪里开始这个并且可以使用一些帮助。

9:介绍||操作

与逻辑和运算符&&类似,我们有逻辑或运算符||。人物|位于键盘上的Enter键正上方,称为管道。与双号&类似,这个通常也被称为双管。 ||如果任何条件可以为真,则使用运算符。例如 - 如果number == 1 ||如果number为1或3,则number == 3返回true。简单对吧?根据代码编辑器中的说明实现方法dinner_choice。

此功能应返回:

  1. “牛排”如果名人是“brad pitt”或“angelina jolie”
  2. “italian”如果名人是“ashton kutcher”或“demi moore”
  3. “french”如果名人不属于上述
  4. 这是我的尝试。

    def dinner_choice(celebrity)
    return "steak" if celebrity == "brad pitt" || celebrity == "angelina jolie"
    return "italian" if celebrity == "ashton kutcher" || celebrity == "demi moore"
    else return "french"
    end
    

2 个答案:

答案 0 :(得分:1)

你很亲密,这就是你想要的

def dinner_choice(celebrity)
  return "steak" if celebrity == "brad pitt" || celebrity == "angelina jolie"
  return "italian" if celebrity == "ashton kutcher" || celebrity == "demi moore"
  return "french"
end

您最后不希望最后else。您可以简单地使用return "french",因为如果上面的任何语句匹配,它就不会到达该行。

答案 1 :(得分:0)

您正在寻找的一般形式是写下这样的陈述:

def dinner_choice celebrity
  return "steak" if celebrity == "Brad Pitt"
  return "foo" if # add programming here
end

您将检查名人变量以查看您的方法是否知道如何处理,并提供与输入相关的结果。

显式return告诉Ruby解释器停止评估方法中的其余代码并给出指定的结果。

您也可以尝试使用case statements,但IMO在大多数情况下都很丑陋且难以维护。