视频: 【C 語言入門】 11.4 - 用文字繪製三角形的練習 (使用 for 述句) 2024
当使用R时,有时您需要函数在条件为真时执行某些操作,如果是不是,你可以用两个if语句来做这件事,但是在R中有一个简单的方法:if … else语句,if … else语句包含与if语句相同的元素(参见前面的章节),然后再添加一些:
-
放置在第一个代码块
<! - 1 - > -
之后的关键字else包含在大括号内的第二个代码块必须执行,当且仅当if()语句中的条件为FALSE
在一些国家,必须支付的增值税的数额取决于客户是公共组织还是私营组织,想象一下,公共组织必须支付只有6%的增值税和私人组织需要支付12%的增值税,你可以在priceCalculator()函数中增加一个额外的参数func并采用如下方式增加正确的增值税额:
如果(小时> 100)净。价格< - 净值。价格* 0. 9 if(public){tot。价格< - 净值。价格* 1。06} else {tot。价格< - 净值。价格* 1。12} round(tot。price)}
如果您将此代码发送到控制台,您可以测试该函数。例如,如果您工作了25个小时,则下面的代码分别给出了您为公共和私人组织收取的不同金额: >> priceCalculator(25,public = TRUE)[1] 1060> priceCalculator(25,public = FALSE)[1] 1120
这很好,但它是如何工作的?
<!另外,在if … else语句的情况下,如果两个代码块仅存在一行代码,则可以删除大括号。所以,你可以忘掉大括号,然后把整个if … else语句挤在一行上。或者你甚至可以这样写:
if(public)tot。价格< - 净值。价格* 1. 06其他tot。价格< - 净值。价格* 1. 12
将else语句放在行尾而不是下一行的开头是个好主意。
一般情况下,只要清楚地看到命令还没有完成,R就会把多行写成一行。如果你在第二行开始的时候,R认为第一行完成并投诉。只有在
函数内这样做
时,才可以在下一行的开始处放入其他字符,并且立即将整个文件的来源编码为R.但是可以缩短这个长度。 if语句就像一个函数,因此它也返回一个值。因此,您可以将该值分配给对象或在计算中使用它。所以,而不是重新计算网络。价格并将结果分配给tot。代码块内的价格,你可以使用if … else这样的语句:
R将首先评估if … else语句,并将结果乘以净值。价钱。然后将这个结果分配给tot。价钱。这不同于我们用于原始if … else语句的五行代码的结果。