加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Rails控制台上抑制某些输出

发布时间:2020-12-17 01:52:28 所属栏目:百科 来源:网络整理
导读:一旦我做了一个rails c并从db中得到一些行,就像这样: users = User.find(:all,:conditions = ["some conds"]) 然后用户说了20个结果 如果我再做一个 users.each do |u| puts u.name if u.gender == 'male'end 然后在打印完所有男性名字之后,控制台再次输出
一旦我做了一个rails c并从db中得到一些行,就像这样:

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

然后用户说了20个结果

如果我再做一个

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

然后在打印完所有男性名字之后,控制台再次输出用户对象的所有内容.我不需要再看一遍.我怎么能抑制它?我感兴趣的只是看跌期权的输出

解决方法

这就是控制台的工作原理.输入表达式,它会打印其值.

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

此代码的值是用户对象本身,并且正确打印.使用puts打印的是副作用.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读