2013-11-02 17 views
-2

我有幾行代碼,我寧願將它稱爲每次需要調用它時粘貼的函數。我知道如何在C++中做到這一點,但不知道它在Ruby中是如何工作的,或者它是如何工作的。在Ruby on Rails中創建和使用函數

if op2_health < 0 
     op2_health = 0 
     @result = op1_name + ' Wins!' 
    elsif op1_health < 0 
     op1_health = 0 
     @result = op2_name + ' Wins' 
    end 

這是我想用作函數的代碼,但我不知道Ruby中的函數語法。謝謝!

+0

查看一些Ruby文檔不是更快嗎?在任何情況下,正確的方法完全取決於你想要如何/在哪裏使用該功能,是否跨類共享等。 –

回答

0

def定義功能:

def my_function 
    if @op2_health < 0 
     @op2_health = 0 
     @op1_name + ' Wins!' 
    elsif @op1_health < 0 
     @op1_health = 0 
     @op2_name + ' Wins' 
    end 
end 

然後調用它像這樣:

@result = my_function 

我不知道您的業務規則,但你肯定的是,例如,這些條件是相互排斥的?無論如何,這應該是將您的代碼表達爲可重用的功能的方式 - 可能會根據您的情況做一些小的調整。

+0

這不是一個函數,這是一種方法。函數(更精確的過程)定義如下:'my_function = - > {...}' –

-3

我發現了這個問題:Elsif不是一個字。

+1

到處都可以看到elsif是正確的http://stackoverflow.com/questions/13550407/does- elseif-依然存在 – ryandonohue

+1

是的,'elsif'是正確的關鍵字。 –

相關問題