【发布时间】:2021-12-09 03:57:54
【问题描述】:
问题:将数组字符串元素转换为整数求和。 我的代码:
ch = ["+7", "-3", "+10", "0"]
ch.to_i
soma = 0
string.each do |ch|
if ch.isdigit()
soma += ch.to_i
end
end
p(soma)
错误:
Traceback (most recent call last):
main.rb:2:in `<main>': undefined method `to_i' for ["+7", "-3", "+10", "0"]:Array (NoMethodError)
Did you mean? to_s
to_a
to_h
【问题讨论】:
-
代码第二行出现错误:
ch.to_i。您正在尝试将数组转换为整数,这不是有效的操作。 ruby 中也没有ch.isdigit()方法,除非你自己定义! -
错误告诉你
Array类没有to_i方法。您需要将to_i应用于数组的各个元素,使用map或显式地遍历数组(这会更慢)。 -
太棒了!我没有注意到这个细节。非常感谢!
-
string未定义,没有isdigit方法。我不确定该代码是如何到达to_i。 -
您的问题是什么?您的问题以“问题:”开头,然后包含两个陈述且没有问题。
标签: arrays ruby string integer