ruby-on-rails - 如何在 Rails 控制台抑制一些输出

标签 ruby-on-rails ruby console

一旦我执行了 rails c 并从数据库中获取了一些行,就像这样:

users = User.find(:all,:conditions => ["some conds"])

然后用户说了 20 个结果

如果我再做一个

users.each do |u|
  puts u.name if u.gender == 'male'
end

然后在打印完所有男性名字后,控制台再次输出users对象的所有内容。我不需要再看一遍。我怎样才能抑制它?我只对 puts 的输出感兴趣

最佳答案

控制台就是这样工作的。您输入表达式,它会打印出它的值。

users.each do |u|
  puts u.name if u.gender == 'male'
end

此代码的值是 users 对象本身,并且已正确打印。您使用 puts 打印的内容是一个副作用。

您仍然可以通过更改此表达式的返回值来禁止打印 users 的完整内容。例如,像这样:

users.each do |u|
  puts u.name if u.gender == 'male'
end && false

关于ruby-on-rails - 如何在 Rails 控制台抑制一些输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623643/

相关文章:

ruby-on-rails - Rails 4 ActiveRecord has_many 长度条件

java - java中的ruby gsub函数,可能是replaceAll?

ruby - Rspec 加载时间太长

macos - 如何在 Darwin/Mac 中清除控制台

ruby-on-rails - 在 Rails 集成测试中更改请求环境变量

ruby-on-rails - rails : . html 结尾与无中的 SEO 网址。什么最好?

javascript - Rails 嵌套属性 form_for for has_many 使用 javascript 无限嵌套模型

ruby-on-rails - 如何使用opencv-ruby gem裁剪图像?

c# - 如何在 WPF 中模拟控制台?

c - SetConsoleCursorPosition : Getting black rows in console upon use