我是Ruby的新手,无法弄清楚如何从用户那里获取数组的输入并显示它。如果有人能够清楚我可以添加我的逻辑来找到最大的数字。
#!/usr/bin/ruby
puts "Enter the size of the array"
n = gets.chomp.to_i
puts "enter the array elements"
variable1=Array.new(n)
for i in (0..n)
variable1[i]=gets.chomp.to_i
end
for i in (0..n)
puts variable1
end
答案 0 :(得分:6)
如何在一行中捕获数组?
#!/usr/bin/ruby
puts "Enter a list of numbers"
list = gets # Input something like "1 2 3 4" or "3, 5, 6, 1"
max = list.split.map(&:to_i).max
puts "The largest number is: #{max}"
答案 1 :(得分:3)
你做得很好。但试试这个小小的改变
#!/usr/bin/ruby
puts "Enter the size of the array"
n = (gets.chomp.to_i - 1)
puts "enter the array elements"
variable1=Array.new(n)
for i in (0..n)
variable1[i]=gets.chomp.to_i
end
puts variable1
或者对于未定义数量的值,这里是单向
#!/usr/bin/ruby
puts "enter the array elements (type 'done' to get out)"
input = gets.chomp
arr = []
while input != 'done'
arr << input.to_i
input = gets.chomp
end
puts arr
答案 2 :(得分:3)
我相信这是一个更优雅的解决方案。
puts "Please enter numbers separated by spaces:"
s = gets
a = s.split(" ")
#Displays array
puts a
#Displays max element
puts a.max
首先从用户收集一系列数字,然后在字符串上使用split方法,将其转换为数组。如果你想使用其他分隔符,比如“,”,你可以编写s.split(“,”)。之后,您可以使用逻辑来查找最大数字,或者您可以使用max方法。
答案 3 :(得分:1)