r - 为什么 R 忽略我的 return(paste()) 命令?
问题描述
我正在做一个 R 函数练习,在这个练习中,我们需要创建一个名为 bar_count 的函数,它返回完成订单所需的最少铝条,只有两种类型的铝条,5 公斤条和 1 公斤条。如果订单有小数,则该函数应返回 F,它只能是精确数字。
这是我想出的:
bar_count <- function(kg){
num.of.five <- 0
num.of.one <- 0
five.kg <- kg/5
if (kg%%5 == 0){
num.of.five <-num.of.five + five.kg
} else if(kg%%5 != trunc(kg%%5)){
return(F)
}else if (kg%%5 >= 1) {
num.of.five <- num.of.five + trunc(five.kg)
num.of.one <- num.of.one + ((kg%%5))
}
num.of.bars <- num.of.five + num.of.one
return (num.of.bars)
return(paste('qty of 5kg bars is:', num.of.five))
return(paste('qty of 1kg bars is:',num.of.one))
}
我遇到的问题是最后两个命令,我向 R 询问return(paste())
5 公斤批次和 1 公斤批次的铝条数量,但是它不返回这两个中的任何一个,它只返回总量,我有试过了,print()
但也没有用。
感谢您花时间回答
解决方案
return
从 R 函数返回后,将不会执行语句之外的任何代码。大概你想在返回之前打印,所以尝试使用这个版本:
bar_count <- function(kg) {
// ...
print(paste('qty of 5kg bars is:', num.of.five))
print(paste('qty of 1kg bars is:', num.of.one))
return(num.of.bars)
}
推荐阅读
- nunit - NUnit.Framework:如何使用 AND 和 OR 选项运行类别?
- ansible - 如何创建与除主机“test-host”和 B 组之外的 A 组匹配的模式?
- html - 如何停止按回车键下一步移动到手机上的输入框。jQuery
- vba - Vba 对象未添加到集合中
- python - 根据条件在 Ansible 中拆分字典
- reactjs - 如何描述链式箭头函数的接口?
- zsh - ColorLS 图标不显示
- linux - 如何从 pem 或 crt 文件中的链中删除 SHA1 证书
- php - 使用 OOP 准备好的语句的 PHP 错误
- wordpress - 解决了 - .htaccess 重写没有重定向/Wordpress