我敢肯定,对于那些知道的人来说,这是一个愚蠢的问题,但我找不到解释它的作用或是什么.

CSV.open('data.csv', 'r') do |row|
  p row
end

"p row"是做什么的?

推荐答案

p() is a Kernel method

它将obj.inspect写入标准输出.

因为对象混合在内核模块中,所以p()方法随处可见.

顺便说一句,在poetry mode中使用它是很常见的,这意味着paren被删除.CSV代码片段可以写成...

CSV.open 'data.csv', 'r' do |row|
  p row
end

它记录了here with the rest of the Kernel个模块.

Ruby相关问答推荐

为什么我的二维 Ruby 数组的多个值会发生变化,尽管只更改了其中一个?

Ruby注入daisy链?

仅在模块中列出方法?

为什么安全导航比在 Rails 中使用 try 更好?

用于 ruby​​ gems 的新 10.9 OSX 的命令行工具?

如何在 Ruby 的 RestClient gem 中设置超时?

如何通过 Rack 提供静态文件?

为什么 Range 在下降时不起作用?

我应该签入.ruby-gemset和/或.ruby-version吗?

如何将哈希保存到 CSV

使用正则表达式在第一个逗号之前提取文本

如何验证 RSpec 中的退出和中止?

在 Ruby 中按名称获取一个类?

Ruby NOT Rails 中有复数函数吗?

Mountain Lion rvm 安装 1.8.7 x11 错误

如何在 Ruby 的 IRB 中启用自动完成

从Ruby中的子类方法调用父类中的方法

如何在 Ruby 中找到字符串中字符的索引?

如何创建一个 Gemfile?

传递哈希而不是方法参数