1 Comment
switch() 对应的是 if 的特例,也就是 if (x == 'A') 怎样 else if (x == 'B') 又怎样。是判断一个变量取值是否等于什么值然后执行某些分支语句。一般的 if 语句不太方便直接翻译成 switch 语句。R 里面的 switch() 只是一个普通函数而已,并不是一个特殊的语法结构;其实 if 也是一个函数,这跟其它多数语言都不太一样。
——原帖发布于 2017-01-30 15:19:28
访客 *大鹏* @ 2017-01-30 15:46:43 写道:
谢谢你的解释。if的空白区域是很烦人,return这个方案确实很棒。我的意思是说,既然有了if函数,何必再有个switch函数(可能就是为了节省空白?);既然好心弄出来个switch函数,为何不把好人做到底,让switch能支持更多的特例,比如:
switch(x,
(-Inf, 0) = -x,
[0, 3) = x^2,
[3, Inf) = exp(x))
我一直想自定义这样一个函数,可惜自己不会写。现在有了你这个return方案,用不着写了。
这应该是可以用魔法实现的,时间有限我就不展开了。
——原帖发布于 2017-01-30 16:17:56
Sign in to join the discussion
Sign in with GitHub