我是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
当我打印我的阵列时,if choice==1
我得到不同线路上的所有输出,例如
hello i am beginner to ruby
无论如何将输出放在一行?即hello i am beginner to ruby
编辑:我甚至尝试过使用puts array.join(' ')
,但这也不起作用.
首先,
puts array
应该
puts array.join(' ')
默认情况下,puts
输出每个元素在其自己的行上.
其次,
el=gets.to_s
应该
el = gets.chomp
gets
返回一个字符串,因此将字符串转换为字符串没有多大意义.但返回的字符串gets
也将以换行符结束,因此您需要chomp
关闭该换行符.