Ruby 相当于 Python 的 for / else

2023-11-23

我一直在寻找 Ruby 中类似 Python 的 while / else 结构的东西来改进我的代码。

这意味着执行循环,如果循环中的条件任何时候都不为真,则返回 else 语句中的值。

在红宝石中,我可以这样做:

if @items.empty?
  "Empty"
else
  @items.each do |item|
    item
  end
end

那么有没有办法改善这一点呢?

先感谢您。


请记住,迭代器块会返回您放入其中的内容,可以对其进行测试以供进一步使用。

if arr.each do |item|
  item.some_action(some_arg)
end.empty?
  else_condition_here
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 相当于 Python 的 for / else 的相关文章

  • 为什么我不能“string”.print()?

    我的理解print 在 Python 和 Ruby 以及其他语言 中 它是字符串 或其他类型 上的方法 因为它的语法非常常用 打印 嗨 works 那么为什么不呢 hi print 在 Python 中或 hi print在红宝石工作 当你
  • Rails current_path 助手?

    我正在开发具有以下路由条件的 Rails 3 2 应用程序 scope locale locale de en do resources categories only index show get newest index as newe
  • Ruby 空白:{ :a => 1 } 比 {:a => 1} 更好吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 看看其他人的代码 在花括号块内包含额外的空格似乎很常见 这是有原因的吗 对我来说 这似乎增加了额外的击键 从而增加了丑陋 特别是当事情嵌套时 l
  • Watir 不会下载 PDF,只能在查看器中打开

    我试图用 Selenium 进行测试 但无法下载 pdf pdf 一直打开 参见我的另一篇文章 RUBY Selenium Webdriver 设置为下载 pdf 文件而不是打开它们 https stackoverflow com ques
  • 未找到 Gem 命令

    我已经在 Ubuntu 10 10 32 位上安装了 gem apt get install gem y 但当我尝试跑步时 gem install something gem 我收到未找到命令的错误 bash gem command not
  • 使用 ruby​​ Net::SSH 通过 sudo 读取远程文件

    我必须读取我有权 sudo 读取的远程文件的内容 猫 少或尾巴 我将在 Ruby 中执行此操作 因此我认为应该使用 Net SSH 来执行此操作 该文件是一个日志文件 因此可能会很大 这是我现在正在尝试的代码 require rubygem
  • 随机化数组元素

    我有一个数组 number 1 2 3 4 5 6 7 8 9 现在 我想随机化数组内容 例如 5 3 2 6 7 1 8 请指导我如何继续 Use the shuffle方法 irb main 001 0 gt 1 2 3 4 5 shu
  • 如何将文件中的行读入数组?

    这就是我想做的 但有一句话 lines Array new File open test txt each line lines lt lt line 可能的 执行如下操作 File readlines test txt Read 文档 h
  • 字符串被两个不同的分隔符分割

    我有这样的字符串 some dasd dasd dasdas dasdas dasd das dsad 我需要用两个不同的符号将字符串拆分为数组 and 所以我想得到数组 some dasd dasd dasdas dasdas dasd
  • 使用自定义 gem 在 Dreamhost/Passenger 上部署 Sinatra 应用程序

    我有一个 Sinatra 应用程序 正在尝试在 Dreamhost 上运行 该应用程序利用 pony 发送电子邮件 为了让应用程序从一开始就启动并运行 在添加小马之前 我必须gem unpack rack and gem unpack si
  • Accepts_nested_attributes_for Rails 3 中的实际形式使用

    使用 Ruby on Rails 3 我半明白accepts nested attributes for是如何的supposed工作 但我无法找出以某种形式实现这一点的实用方法 例如 如果有人想在其用户页面中添加他们最近的位置 user r
  • 安装了 Rails 但它说我没有:)

    我刚刚执行了这个命令来安装 Rails gem install rails 它似乎运行良好并安装了东西 然后当我按照本教程进行操作时 http guides rubyonrails org getting started html http
  • 使用 Ruby 替换文件中的特定行

    我有一个如下所示的文本文件 a txt open close open open close open 我需要找到一种方法将第三行替换为 close 我做了一些搜索 大多数方法都涉及搜索该行而不是替换它 在这里不能真正做到这一点 因为我不想
  • 如何在 Rails 3 中连接表并计算记录数?

    我有一个Collection有很多硬币的类 我正在尝试选择拥有两枚以上硬币的收藏品 目前 我可以直接通过 Ruby 来完成此操作 但效率极低 我当前的代码 collections Collection all select c c coin
  • 如何将 STDOUT 捕获到字符串?

    puts hi puts bye 我想存储到目前为止代码的 STDOUT 在本例中 hi nbye 到变量中说 结果 并打印它 puts result 我这样做的原因是我已将 R 代码集成到我的 Ruby 代码中 当 R 代码运行时 其输出
  • heroku 语言区域设置不工作 I18n::MissingTranslationData

    在我的本地电脑上一切正常 但在 heroku 上我收到错误 我的 Heroku 控制台 PC HOME PC c rails konkurranceportalen master heroku console Ruby console fo
  • 如何告诉 Ruby 不要序列化属性或如何正确重载 marshal_dump?

    我的 AR B 中有一个不可序列化的属性 o Discussion find 6 Marshal dump o TypeError no marshal dump is defined for class Proc from irb 10
  • Rails:验证字符串的最小和最大长度,但允许其为空白

    我有一个想要验证的字段 我希望该字段能够留空 但如果用户输入数据 我希望它采用某种格式 目前我在模型中使用以下验证 但这不允许用户将其留空 validates length of foo maximum gt 5 validates len
  • 如何在保存父对象时确保子对象有效?

    假设我有两堂课 class User attr accessible name has one address validates name presence gt true validates associated address end
  • 在Ruby中从csv文件中获取第二行[重复]

    这个问题在这里已经有答案了 actual row File open file name 0 r first row data CSV foreach actual row do row first row data lt lt row 1

随机推荐