全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2137 1
2020-03-07
想利用pp这个参数来作为运行的根据,结果发现只有一个if没有else的时候,两个结果居然是一样的,不应该第二个
(设置为false时)与第一个不一样吗
a=function(x,pp=FALSE) {
  if (pp){
  c=x*10
  }
  print(x+1)
  print(c+1)
}  
a(1,pp=TRUE)
a(1,pp=FALSE)

于是在函数里加入了else,结果能正常运行(两个结果不一样)。那为啥上个函数pp为false的时候还是运行了if语句里的代码?
a=function(x,pp=FALSE) {
  if (pp){
  c=x*10
  }
  else
    c=x+4
  print(x+1)
  print(c+1)
}  
a(1,pp=TRUE)
a(1,pp=FALSE)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-3-8 09:49:58
是应该不一样,只不过你的外部环境里刚好有一个变量c,刚好也为10而已,你把这个变量删除,结果就不一样了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群