您的代码,导致您所遇到的结果是一个小问题。
当你使用:
name1 = File.readlines('first.txt').sample(1)
返回值IS NOT一个字符串,而是用1个随机抽样的数组。即:
["Jhon"]
这就是为什么你使用print
时得到的输出["Jhon"]
。
既然你希望(和喜欢)的字符串,试试这个:
name1 = File.readlines('first.txt').sample(1)[0]
name2 = File.readlines('middle.txt').sample(1)[0]
name3 = File.readlines('last.txt').sample(1)[0]
或:
name1 = File.readlines('first.txt').sample(1).pop
name2 = File.readlines('middle.txt').sample(1).pop
name3 = File.readlines('last.txt').sample(1).pop
,或者也许你的意思,不带任何参数,sample
将返回一个物体而不是阵列:
name1 = File.readlines('first.txt').sample
name2 = File.readlines('middle.txt').sample
name3 = File.readlines('last.txt').sample
另外,在打印时,如果创建一个字符串以包含所需的所有空格和格式,会更好。即:
name1 = File.readlines('first.txt').sample(1).pop
name2 = File.readlines('middle.txt').sample(1).pop
name3 = File.readlines('last.txt').sample(1).pop
puts "#{name1} #{name2} #{name3}."
# or
print "#{name1} #{name2} #{name3}."
sheesh,你是对的。学习somethign新的日常:) – marriedjane875