这是我返回在数组中只出现一次的元素的代码
a = [1,2,2,3,3,4,5]
p a.select{|i| a.count(i) == 1}
# >> [1, 4, 5]
谁能建议如何将数组作为用户的键盘输入?
这是将一定数量的输入收集到数组中的一种非常简洁的方法:
n = 7
a = n.times.collect { gets.chomp.to_i }
然后,您可以在a
.
irb(main):022:0> a = n.times.collect{gets.chomp.to_i}
1
2
2
3
3
4
5
=> [1, 2, 2, 3, 3, 4, 5]
irb(main):023:0> a.select{|i| a.count(i) == 1}
=> [1, 4, 5]
print "Enter an array: "
STDOUT.flush
arr = STDIN.gets.chomp.split(/,/).map(&:to_i)
# Enter an array: 1,2,2,3,3,4,5 <ENTER>
arr # => [1, 2, 2, 3, 3, 4, 5]
使用该gets
方法从标准输入中获取字符串。(它是“get string”的缩写!)
chomp
删除尾随空格,即在输入结束时按 enter 产生的换行符。
因此,在提示符处调用str = gets.chomp
和输入1 2 2 3 3 4 5
将设置str
为"1 2 2 3 3 4 5"
。然后,只需使用str.split
将其转换为数组。
下面的方式:
s=gets.chomp
a = s.split("")