Dan*_*don 6 syntax whitespace f#
我一直在修补F#Interactive.
我一直得到奇怪的结果,但这是我无法解释的:
以下代码返回66,这是我期望的值.
> let f x = 2*x*x-5*x+3;;
> f 7;;
Run Code Online (Sandbox Code Playgroud)
以下代码引发语法错误:
> let f x = 2*x*x - 5*x +3;;
stdin(33,21): error FS0003: This value is not a function and cannot be applied
Run Code Online (Sandbox Code Playgroud)
如您所见,唯一的区别是第二个示例中的符号之间存在一些空格.
为什么第一个代码示例有效,而第二个代码示例会导致语法错误?
Jar*_*Par 12
这里的问题是使用+3.在处理+/-数字表达式上的前缀时,空格很重要
x+3:x加3x +3:语法错误:x后跟正值3我自己多次遇到这种情况(最常见的是-).起初有点令人沮丧,但最终你会学会发现它.
但这并不是没有意义的功能.有必要允许将负值应用于函数
myFunc x -3:使用参数x和调用函数myFunc-3错误消息表明您正在尝试使用参数(unary + on 3)调用x函数+3,并且由于 x 不是函数,因此This value is not a function and cannot be applied
| 归档时间: |
|
| 查看次数: |
404 次 |
| 最近记录: |