Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails控制台抑制某些输出_Ruby On Rails_Ruby_Console - Fatal编程技术网

Ruby on rails 如何在Rails控制台抑制某些输出

Ruby on rails 如何在Rails控制台抑制某些输出,ruby-on-rails,ruby,console,Ruby On Rails,Ruby,Console,一旦我做了一个rails c并从db中得到一些行,如下所示: users = User.find(:all,:conditions => ["some conds"]) 然后用户说有20个结果 如果我那么做 users.each do |u| puts u.name if u.gender == 'male' end 然后,在打印所有男性姓名后,控制台再次输出用户对象的所有内容。我不需要再看了。我怎样才能抑制它?我感兴趣的是puts的输出,这就是console的工作方式。输入表达式

一旦我做了一个rails c并从db中得到一些行,如下所示:

users = User.find(:all,:conditions => ["some conds"])
然后用户说有20个结果

如果我那么做

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

然后,在打印所有男性姓名后,控制台再次输出用户对象的所有内容。我不需要再看了。我怎样才能抑制它?我感兴趣的是puts的输出,这就是console的工作方式。输入表达式后,它将打印其值

users.each do |u|
  puts u.name if u.gender == 'male'
end
此代码的值为
users
对象本身,并且已正确打印。用
打印的内容会产生副作用

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

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