在线上打印数组的内容

pra*_*ani 3 ruby arrays

我是ruby的新手,正在尝试使用arrays.i想要以单行打印数组.这是代码块(请忽略任何错误)

array=[]

puts "Choose an option: ","1.Push, 2.Pop, 3.Display Length"
choice=gets.to_i
while choice!=4
if choice==1
    puts "enter Number of elements to be pushed"
    n=gets.to_i
    n.times do
      puts "Enter element"
    el=gets.to_s
    array.push el
    end
  puts array
elsif choice==2
    puts array.pop

elsif choice==3
    puts array.length

else
  puts "invalid"
end
end
Run Code Online (Sandbox Code Playgroud)

当我打印我的阵列时,if choice==1我得到不同线路上的所有输出,例如

hello
i
am
beginner
to
ruby
Run Code Online (Sandbox Code Playgroud)

无论如何将输出放在一行?即hello i am beginner to ruby

编辑:我甚至尝试过使用puts array.join(' '),但这也不起作用.

Doo*_*nob 9

首先,

puts array
Run Code Online (Sandbox Code Playgroud)

应该

puts array.join(' ')
Run Code Online (Sandbox Code Playgroud)

默认情况下,puts输出每个元素在其自己的行上.

其次,

el=gets.to_s
Run Code Online (Sandbox Code Playgroud)

应该

el = gets.chomp
Run Code Online (Sandbox Code Playgroud)

gets返回一个字符串,因此将字符串转换为字符串没有多大意义.但返回的字符串gets也将以换行符结束,因此您需要chomp关闭该换行符.