2016-12-22 6 views
0

Ich versuche, switch() zu verwenden, wo die 'Fälle' Parameter sind.Verwendung von switch() mit Variablen als Fälle

Etwas wie:

const1 <- 'c1' 
const2 <- 'c2' 

action <- 'c1' 

switch(action, 
     const1 = 1, 
     const2 = 2) 

Dies kann nützlich sein, wenn ein Bedarf gibt es den Wert von const1 zu ändern, wird es nur an einer Stelle im Code eine Änderung erfordern.

Ich weiß, dass ich if-else stattdessen verwenden kann, aber ich frage mich, gibt es einen Workaround?

+0

@ ИгорьДобровольський Dank für die Kommentare, aber ich sehe nicht, wie es auf meine Frage in engen Zusammenhang steht. – arikv

Antwort

1

Ich glaube nicht, das eine bestimmte klare Art und Weise der Codierung ist, aber man konnte verwenden:

do.call(switch, c(action, setNames(list(1, 2), c(const1, const2)))) 
Verwandte Themen