【发布时间】:2016-05-19 23:09:26
【问题描述】:
我特别想知道处理第二种情况的最佳方法。
我目前在函数中使用if 语句;使用嵌套的if 语句处理第二个条件。
我很好奇这是否是处理此类数学函数的最佳(最快、最优雅)方法。
#Parameters
K.bc <- 10;K.bk<-100
W2.fg <- W2.fp <- 1000
#Function
F.2.sink <- function(K.bc, K.bk, W2.fg,W2.fp){
if(W2.fg + W2.fg < K.bc)
{return(0)}
if(K.bc < (W2.fg + W2.fg))
if( W2.fg + W2.fg < (K.bc+K.bk))
{return(W2.fg + W2.fp - K.bc)}
if(W2.fg + W2.fp >= (K.bc+K.bk))
{return(K.bk)}
}
F.2.sink(K.bc,K.bk,W2.fg,W2.fp)
【问题讨论】:
-
检查第二个条件时,您已经检查过它不满足第一个条件。你不需要另一个 if 来再次检查同样的事情。
-
像这样的代码审查问题也应该发布在代码审查网站而不是这里。
-
@Dason 我不认为这真的属于 CR,他只是在问一件事。我们不会拒绝他,但可能不是最好的选择。
标签: r function if-statement conditional-statements