• R语言
  • 奇怪,是不是软件问题?

随便编了个函数,突然出现:



> f<-function(x)x^2

> f<-function(x)x^2-3x-9

错误: 意外的符号在"f<-function(d)x^2-3x"里

> f<-function(x)x^2-x-9

> f<-function(x)x^2-3x-9

错误: 意外的符号在"f<-function(d)x^2-3x"里

> f<-function(x)x^2-4x-9

错误: 意外的符号在"f<-function(d)x^2-4x"里

意外的符号?

什么意思?

我每次退出R的时候都没有保存工作空间映像,和这个有关吗?

请赐教!!!!!!!!!!!!!!
...what's that? 3x? your hand writing?

f<-function(x)x^2-4*x-9

missing a "*"
我以前总结过三个经典错误:



乘法:3x

条件:if(x=1)

条件:if(1<x<2)
什么时候R才能有智能检查功能啊
这是编辑器的工作,现在R核心部分应该还不会兼顾到。

自动补齐、高显亮倒是有不少工具了。





另外,出现问题首先看下错误信息说明,而不是动辄怀疑软件问题,毕竟用R经过了相当多的检验。
据我所知,貌似还没有哪种语言可以直接写3x作为3*x吧?所以这和R没有关系啊,基本的写代码习惯:按规章制度办事,计算机不是人,它有它的语言和理解方式。
其实我觉得,益辉总结的三个错误倒是应该改进的方向。改进起来其实不难。

3x: 因为数字一般不作变量名的首字母,所以数字开头的疑似变量名都可以在第一个非数字字符前加*,然后重新parse;ax+b之类的问题也可以用名字空间中的变量名更加智能一点的parse——但问题是容易造成歧义。

if(x=1)和if(1<x<2)两个问题也都可以对出现在if()内的条件判断重新定义来实现。
嗯,这倒也是,其实习惯了也无所谓:)
最好还是自己要养成良好的编程习惯啊~

不能老是想让软件来适应自己~