我想从Ruby中另外两个变量的总和创建一个新的局部变量,但我';我卡住了
我试图改变一个例子,采用用户输入,而不是使用硬编码的值,然后使用这些局部变量来计算所需的项 到目前为止,我的代码如下所示:我想从Ruby中另外两个变量的总和创建一个新的局部变量,但我';我卡住了,ruby,Ruby,我试图改变一个例子,采用用户输入,而不是使用硬编码的值,然后使用这些局部变量来计算所需的项 到目前为止,我的代码如下所示: print "Number of cars available today." cars = gets.chomp() print "Number of available seats in the car." space_in_a_car = gets.chomp() print "Number of drivers available." drivers = gets
print "Number of cars available today."
cars = gets.chomp()
print "Number of available seats in the car."
space_in_a_car = gets.chomp()
print "Number of drivers available."
drivers = gets.chomp()
print "Number of passagers that need transport."
passangers = gets.chomp
cars_not_driven = #{cars} - #{drivers}
cars_driven = drivers
carpool_capacity = #{cars_driven} * #{space_in_a_car}
average_passanger_per_car = #{passangers} / #{drivers}
print "The number of cars being driven today is #{cars_driven}.\n"
print "The number of cars not being driven today is #{cars_not_driven}.\n"
print "We have #{carpool_capacity} cars available.\n"
print "So we need to carry #{average_passanger_per_car} passangers per car to make sure we can transport everyone.\n"
代码将在不抛出任何错误的情况下运行,但这当然是因为我没有获得正确的命令:
cars_not_driven = #{cars} - #{drivers}
cars_driven = drivers
carpool_capacity = #{cars_driven} * #{space_in_a_car}
average_passanger_per_car = #{passangers} / #{drivers}
我在回报中得到的唯一价值是:
print "The number of cars being driven today is #{cars_driven}.\n"
我应该如何写作:
cars_not_driven = #{cars} - #{drivers} etc
要获取非驾驶的
汽车的数量
?当您使用获取时,Ruby需要并返回一个字符串。所以变量car
,drivers
等都是字符串
为了对它们执行整数运算,需要将它们转换为整数。在Ruby中,您可以使用.to\i
来实现这一点
现在,有了这些信息,请尝试:
cars_not_driven = cars.to_i - drivers.to_i
cars_driven = drivers.to_i
carpool_capacity = cars_driven * space_in_a_car.to_i
average_passanger_per_car = passangers.to_i / drivers.to_i
您可以使用.class
检查变量的类别。在这里:
cars = gets.chomp()
10
# => "10"
cars.class
# => String
drivers = gets.chomp()
20
# => "20"
drivers.class
# => String
现在让我们添加它们:
cars + drivers
# => "1020"
由于它们是字符串,+
操作符将两个字符串添加到一个字符串中。不是你想要的。现在试试这个:
cars.to_i + drivers.to_i
# => 30
我不太明白你为什么使用这个{var}
和
。如果我认为您希望使用纯ruby是正确的,那么这应该是解决方案:
print "Number of cars available today."
cars = gets.chomp().to_i
print "Number of available seats in the car."
space_in_a_car = gets.chomp().to_i
print "Number of drivers available."
drivers = gets.chomp().to_i
print "Number of passagers that need transport."
passangers = gets.chomp.to_i
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passanger_per_car = passangers / drivers
print "The number of cars being driven today is #{cars_driven}.\n"
print "The number of cars not being driven today is #{cars_not_driven}.\n"
print "We have #{carpool_capacity} cars available.\n"
print "So we need to carry #{average_passanger_per_car} passangers per car to make sure we can transport everyone.\n"
请注意,在字符串文本之外,#
开始一条注释。
是由其他用户的编辑引入的,我已经删除了它们。