基本的Ruby - 需要简单解释if / else语句的作用

时间:2014-06-24 15:34:17

标签: ruby

对于基本的汽车级练习,我们被要求创建一种驾驶方法,该驾驶方法应该根据驾驶里程数输入,相应地改变位置并以每加仑20英里的速度减少燃油。

我理解我需要做的基本概念以及if / else语句是如何工作的,但需要帮助将if / else语句分解为更多的“外行术语”,以确定内容究竟发生了什么。

def initialize
    @fuel = 10
    @distance = 0
end

def drive(miles)
    if (@fuel - miles/20.0) >= 0
        @distance += miles
        @fuel -= miles/20.0
    else
        @distance += @fuel * 20.0
        @fuel = 0
        puts "You're out of gas!"
    end

1 个答案:

答案 0 :(得分:0)

您最初将燃油设定为10,距离为0。

当您驾驶x英里数(因此输入英里数)时,您必须看看您是否已经没油了。

如果燃油量减去行驶里程数除以20,则大于或等于0,我们将行驶距离设为距离+行驶里程数(+=为速记@distance = @distance + miles)。我确实认为if可能需要澄清:它是“燃料 - 里程,然后除以20”?或者它是“燃料 - 里程/ 20”,操作顺序发挥作用?

Anywho,+=的简写:

@distance = @distance + miles 

然后我们将燃料设定为燃油量减去行驶里程数除以20(-=也是速记,与之前相似。)

@fuel = @fuel - miles/20.0

但是,否则(ELSE),我们将距离设为

@distance = @distance + fuel *20

然后我们将燃料设置为0,并打印出字符串“你没气了!”。