从键入中获取下一个值

时间:2017-02-27 12:20:16

标签: r vector next

按顺序我有六张牌:9,8,5,10,2,6 我想编写一个代码,它将从列表中给出下一个值,当键入时,最后一个将再次返回到开头。

我尝试用" 2" (想要获得" 6"结果)并写道:

cards <- c(9,8,5,10,2,6)
o <- 1:6
if(karty[o] == 2) cat(karty[o+1])

然而,它根本不起作用:/任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

试试这个

cards_fun <- function(val){
  if (val %in% cards[1:(length(cards)-1)]) ind = which(cards==val)+1 else if (val %in% cards[length(cards)]) ind = 1
  cards[ind]
}
cards_fun(9)
cards_fun(6)

如果你想使用它,那真的很像上面评论中的模数建议

cards_fun2 <- function(val){
 o <- 1:length(cards); cards[(o%%length(cards))[cards %in% val]+1]
}
cards_fun2(9)
cards_fun2(6)