2013-07-28 69 views
1

有沒有一種更優雅的方式在Ruby中編寫它?如何連接條件

def tutorial_completed? 
    people.any? && projects.any? && invoices.any? 
end 
+0

視的*優雅*,你可以使用'和'而不是定義' &&':) – tessi

回答

2
def tutorial_completed? 
    [people, projects, invoices].all?(&:any?) 
end 
+3

只是好奇,是不是原來的版本更多比這更可靠嗎? –

+0

@MarcinDoliwa號 – sawa

+4

我不特別喜歡這種形式,因爲它涉及創建一箇中間數組。我也認爲它的可讀性較差,但這是一個意見問題。 –

1

我會做如下:

[people,projects,invoices].all? {|i| i.any? } 

演示

people = [true] 
projects = [false] 
invoices = [true,12] 
[people,projects,invoices].all? {|i| i.any? } 
# => false 
+0

非常感謝您的幫助 – Tintin81