我有两个包含不同变量及其值的列表。如何在条件语句中检查列表名称是否正确,然后在算法的其他部分使用列表中的选定元素?
$myOwnGrayColor: #555;
@import 'modules/_overrides.scss';
//In _overrides.scss make something like $body-bg: $myOwnGrayColor; and $gray-light: $myOwnGrayColor;
@import 'vendor/_bootstrap.scss';
答案 0 :(得分:3)
如果我已正确理解您的问题,您希望您的功能告诉您列表1或列表2中是否包含给定名称,或者两者都不包含。
我已经编写了一些代码(并经过测试),所以这应该可以解决问题:
sample_list1 <- list(
varA = 11,
varB = 22,
varC = 33)
sample_list2 <- list(
varE = 44,
varF = 55,
varG = 66)
sample_fun <- function(name_list) {
# Check if the selection is in list1 or list2
if (name_list %in% sample_list1) {
print ("Belongs to list 1")
}
else if (name_list %in% sample_list2) {
print("Belongs to list 2")
}
else stop ("Incorrect list name.")
}
sample_fun(sample_list1$varA) # Belongs to list 1
sample_fun(sample_list1$varB) # Belongs to list 1
sample_fun(sample_list2$varE) # Belongs to list 2
sample_fun(sample_list2$varF) # Belongs to list 2
虽然我对你的条件陈述有点困惑。您检查2种不同的可能性,但输出相同的结果(print(name_list)
)。您如何确定满足哪种条件?
我对您的代码进行了一些小的调整。
答案 1 :(得分:0)
试试看我:
sample_list1 <- list(
varA = 11,
varB = 22,
varC = 33)
sample_list2 <- list(
varE = 44,
varF = 55,
varG = 66)
sample_fun <- function(name_list) {
if (name_list == sample_list1$varA || name_list == sample_list1$varB || name_list == sample_list1$varC) {
print("list 1")
} else {
print("list 2")
}
}
sample_fun(sample_list1$varA) # "list 1"
sample_fun(sample_list1$varB) # "list 1"
sample_fun(sample_list2$varE) # "list 2"
sample_fun(sample_list2$varF) # "list 2"