为了从一个文件中随机加载行,我们使用以下代码:
# script.rb
X = 20 # no of lines needed
Y = 5 # no of words in each line
a = STDIN.readlines
X.times do
b = []
Y.times do
b << a[rand(a.size)].chomp
end
puts b.join(",")
end
通过以下方式执行:
ruby script.rb < input.txt > output.txt
我现在有两个文件Name.txt
(其中包含一个名称列表)和Phone.txt
(其中包含一个电话号码列表)。
我想从Name.txt
中随机取一个名字,从Phone.txt
随机取一个号码并将它们(用逗号分隔的姓名和电话号码)合并到一个新文件中。
如何使用Ruby?
输出内容应为此格式
name1,phoneno1
name2,phoneno2
依旧......
答案 0 :(得分:0)
给定文件Name.txt
:
foo
bar
baz
和文件Phone.txt
:
123
456
789
这样的事情会起作用:
# combine.rb
names = ARGF.file.readlines
ARGF.skip
phone_numbers = ARGF.file.readlines
5.times do
puts "#{names.sample.chomp},#{phone_numbers.sample.chomp}"
end
这假定您将文件名作为参数传递:
$ ruby combine.rb Name.txt Phone.txt
baz,456
baz,789
bar,123
foo,789
baz,123