Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想从Ruby中另外两个变量的总和创建一个新的局部变量,但我';我卡住了_Ruby - Fatal编程技术网

我想从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"

请注意,在字符串文本之外,
#
开始一条注释。

是由其他用户的编辑引入的,我已经删除了它们。