r - 检查函数参数的值是否与指定的可能性匹配的最佳方法是什么?
问题描述
假设我有一个非常简单的函数,它检查 an 的值并根据它是否匹配多种可能性之一而表现不同。这是一个最小的例子:
is_duck <- function(x) {
if (x == 'duck') return("QUACK")
else return("That's not a duck!")
}
只要我按照我传递的函数行事,这就足够了。但是 R 是动态类型的,所以它是一片无法无天的土地。我想 x == DUCK
成为一个长度为 1 的逻辑向量,我可以将它放入我的分支逻辑中,但我不能保证它会是。有没有更好、更安全的方法来完成我想要的行为?
我想过,if(identical(x, 'duck'))
但如果 x 有一些额外的属性,这会失败,这有点太具体了(即,x <- set_names('duck')
会返回“那不是鸭子!”即使它是)。是isTRUE(x == 'duck')
我要找的吗?
解决方案
推荐阅读
- c - 根据 ASCII 优先级比较字符
- java - 使用 AppCompatCheckedTextView 在 AlertDialog 中设置可绘制对象
- android - 如何在我的 opengl 场景中添加灯光以显示阴影
- c++ - 寻找 Xcode 编译监视器
- javascript - php 或 Node js 不支持 Axios
- azure - 无法将 Azure VM 迁移到托管磁盘
- filter - Java8 Stream.filter 不适用于延迟加载数据
- java - 对 Java 中的文件执行签名和验证操作时出错
- kotlin - kotlin - 当覆盖中具有相同的方法名称时如何引用委托?
- c# - 使用 linq 更新对象的属性,但更新后的方法计算不正确