小弟新人一枚 目前刚刚接触R 中间各种疑问
遇到一个问题,为简化问题,编了个小程序来说明问题
木有修改的程序- getans<-function(f,x1,jud){
- jud=33
- cd<-f(x1)
- if(f(x1)==jud)
- jud
- print("hello")
- else
- print ("how i meet your mother")
- }
- f<-function(x) x^2+x+3
- getans(f,5)
复制代码 目的是如果算出来的函数值为33 那么输出两个东西 一个是33 一个是hello
但是上面的代码出错,找了半天,发现这样可以- getans<-function(f,x1,jud){
- jud=33
- cd<-f(x1)
- if(f(x1)==jud){
- jud
- print("hello")
- }
- else
- print ("how i meet your mother")
- }
- f<-function(x) x^2+x+3
- getans(f,5)
复制代码 这样可以输出结果了,但是想要的33没有输出来,仅仅出来了hello,但是如果给jud加上print(),就可以输出两行,第一行33,第二行hello
小弟的问题是,如果if下面是单单一行执行行,那么光输入jud也是可以显示的,多行就要报错了,这是为什么,莫非if下面多行执行的时候,必须要用大括号{}抱起来吗?包起来以后,jud这个量,直接写上去也不行了,必须用print才能显示出来么?
以上是小弟的几个小问题,可能比较弱,还望各位高人多多指点...谢谢
|