使用嵌套的每个迭代器ruby将换行添加到proc中

时间:2015-11-29 22:10:22

标签: ruby-on-rails ruby postgresql each

嘿伙计们我正在学习Ruby并试图将它连接到我的计算机中的PostgreSQL数据库。我有连接和两个表创建一个有两个元组。我想在自己的行中显示每个元组的值,但在元组之间添加换行符'\ n'。

我一直在尝试运用我对Procs的知识,并想出一种让查询可重复使用的方法,并认为Procs是一个好主意,虽然它对你们中的一些人来说有点麻烦。你是自由的,欢迎批评我的代码

res = conn.exec("select *  from one.employees") #The table with the tuples as Hashes

iter=Proc.new do
  |tuple| tuple.map{|tupleVals| tupleVals}
end      #This goes over each tuple 


stripTuples2=Proc.new do |hash| #a is a Hash containing all the tuples. 
   hash.each do
     |tuple| tuple.each{|str| puts "#{str[0]}: #{str[1].strip}"}.to_s+"\n" 
   end 
end  #End of stripTuples2

这是结构,我称之为

stripTuples2.call(iter.call(res))

虽然它打印了所有的值,但是新行中的每个值都省略了我在代码中添加的“\ n”,它是唯一的地方它让我在不抛出错误的情况下完成它。我该怎么做才能解决这个问题或让我的代码变得更好?

0 个答案:

没有答案