簡體   English   中英

如何使用if語句包裝代碼塊,這意味着有紅寶石的方法嗎?

[英]How to wrap a code block using an if statement, meaning is there a ruby way to do this?

我有一個這樣的塊:

Blah.where(....).each do |b|
  # Code here
end

我只想在some_var不是nil或為空的情況下運行它。 除了:

if !some_var.nil
  Blah.where(....).each do |b|
    # Code here
  end
end

首先,您可能想要

unless some_var.nil?

代替。

還可以在代碼塊的末尾使用end if

Blah.where(....).each do |b|
  #...
end if some_var

您可以查看AndAnd gem,以獲取有關解決nil問題的一些啟發。 有關概述, 請在此處查看我的答案

否則,可能最好的方法是

Blah.where(...).each do |a|
   ...
end unless some_var.nil?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM