甚至没有定义?ruby代码中的方法
我正在尝试编写一个程序,接受20个数字作为键盘输入,然后我需要从输入的数字中获得偶数、奇数、正数和负数的计数甚至没有定义?ruby代码中的方法,ruby,Ruby,我正在尝试编写一个程序,接受20个数字作为键盘输入,然后我需要从输入的数字中获得偶数、奇数、正数和负数的计数 puts "Enter 20 numbers" numbers = Array.new while numbers.length <= 20 numbers << gets.chomp end puts "You have entered 20 numbers" h = Hash.new h["even"] = numbers.select {|x| x.even? &
puts "Enter 20 numbers"
numbers = Array.new
while numbers.length <= 20
numbers << gets.chomp
end
puts "You have entered 20 numbers"
h = Hash.new
h["even"] = numbers.select {|x| x.even? && x > 0}.count
h["odd"] = numbers.select {|x| x.odd? && x > 0}.count
h["positive"] = numbers.select {|x| x > 0}.count
h["negative"] = numbers.select {|x| x < 0}.count
puts h
输入“输入20个数字”
numbers=Array.new
而numbers.length 0}.count
h[“正”]=数字。选择{| x | x>0}。计数
h[“负”]=数字。选择{| x | x<0}。计数
放h
但是我知道这是一个错误的代码
rytest.rb:9:in `block in <main>': undefined method `even?' for
"7":String (NoMethodError)
from rytest.rb:9:in `select'
from rytest.rb:9:in `<main>'
rytest.rb:9:in'block in':未定义的方法'even'
“7”:字符串(命名错误)
从rytest.rb:9:in'select'
来自rytest.rb:9:in`'
我不知道我可能做错了什么,因为我是ruby新手。请帮我找到一个合适的解决方案。对于整数实例,您必须调用
偶数?
"1".to_i.even?
例如:
numbers = ["1", "2", "3"]
numbers.map(&:to_i).select(&:even?).select { |i| i > 0 } # => [2]
您必须在整数实例上调用
偶数?
"1".to_i.even?
例如:
numbers = ["1", "2", "3"]
numbers.map(&:to_i).select(&:even?).select { |i| i > 0 } # => [2]
这里有三件事不对
偶数?
方法0}.count,您的循环正在提取21个条目,而不是20个
h[“正”]=数字。选择{| x | x>0}。计数
h[“负”]=数字。选择{| x | x<0}。计数
放h
这里有三件事不对
偶数?
方法0}.count,您的循环正在提取21个条目,而不是20个
h[“正”]=数字。选择{| x | x>0}。计数
h[“负”]=数字。选择{| x | x<0}。计数
放h
您正在对字符串调用偶数?
。使用gets.chomp.to_i
将字符串从输入转换为整数。正如@SergioTulentsev所说的那样gets.chomp
获取一个类似于“3”的字符串,但这是一个字符串,不是整数,“3”。甚至?
是未定义的。如果更改它,以便在将其添加到数组之前将其转换为整数,则可以gets.chomp.to_i
@SergioTulentsev来吧,你可以做得更好。@sawa:什么意思?:)@SergioTulentsevchomp
。您正在用字符串调用偶数?
。使用gets.chomp.to_i
将字符串从输入转换为整数。正如@SergioTulentsev所说的那样gets.chomp
获取一个类似于“3”的字符串,但这是一个字符串,不是整数,“3”。甚至?
是未定义的。如果更改它,以便在将其添加到数组之前将其转换为整数,则可以gets.chomp.to_i
@SergioTulentsev来吧,你可以做得更好。@sawa:什么意思?:)@SergioTulentsevchomp
。你的答案和评论之间有什么区别?你的答案和评论之间有什么区别?