我从文件中获取输入并将每一行转换为一个数组,然后将该数组转换为一个集合。但是在转换时,该集合返回如下内容:
<Set:0x6268f8>
但是在 IRB 上运行相同的东西会返回正确的值。
require 'set'
n,p = gets.chomp.split.map { |e| e.to_i }
arr = gets.chomp.split( ).map{|x| x.to_i}
print arr
puts
old_set = arr.to_set
print old_set
if old_set.length != 1
print "NO"
exit
end
输入文件:
3 6
0 0 0 0 0 0
1 1 1 1 1 1
2 2 2 2 2 2
在运行这个我得到:
C:\Ruby\kumar>ruby so.rb < abc.txt
[0, 0, 0, 0, 0, 0]
#<Set:0x3aad30>
在 IRB 上:
irb(main):010:0> arr = gets.chomp.split("")
aabbddefyy
=> ["a", "a", "b", "b", "d", "d", "e", "f", "y", "y"]
irb(main):011:0> se=arr.to_set
=> #<Set: {"a", "b", "d", "e", "f", "y"}>
irb(main):012:0> se
=> #<Set: {"a", "b", "d", "e", "f", "y"}>