Compilation 使用atom和f编译问题#

Compilation 使用atom和f编译问题#,compilation,compiler-errors,f#,f#-interactive,f#-3.0,Compilation,Compiler Errors,F#,F# Interactive,F# 3.0,嘿,伙计们,我正在编译一个名为2v2的函数,它可以将任意数乘以2。我使用Atom和ionide来实现它,但是当我使用f#interactive运行它时,它给了我一个错误,说它看不到函数的其余部分。有什么建议吗 let times 2v2 n = let p = 2 in n*2;; times 2v2 10;; let times 2v2 n =;; let times 2v2 n =;; ----------^^^ /stdin(4,11): error FS1156: This i

嘿,伙计们,我正在编译一个名为2v2的函数,它可以将任意数乘以2。我使用Atom和ionide来实现它,但是当我使用f#interactive运行它时,它给了我一个错误,说它看不到函数的其余部分。有什么建议吗

let times 2v2 n =
 let p = 2 in
 n*2;;
times 2v2 10;;



let times 2v2 n =;;
let times 2v2 n =;;
----------^^^
/stdin(4,11): error FS1156: This is not a valid numeric literal. Sample formats include 4, 0x4, 0b0100, 4L, 4UL, 4u, 4s, 4us, 4y, 4uy, 4.0, 4.0f, 4I.

如果我正确理解了您的问题,您需要一个名为
乘以2v2
的函数,该函数将其参数乘以2。由于函数名包含空格,因此必须用双反勾号将其括起来。例如:

let ``times 2v2`` n = 2 * n
并在调用函数时使用以下命令:

``times 2v2`` 10
如果没有双倒勾,标识符不得以数字开头或包含空格。否则,编译器将很难确定它是处理一个标识符还是多个标识符


使问题代码有效的最简单方法是删除
时间
2v2
之间的空格。变量
p
没有任何作用。

使用
2v2
从何处获得此代码?什么是
2v2
假设为变量、常数?还有,p=2的
用途是什么?如果你想学习F#并拥有一个Windows操作系统,那么使用它是免费的。这不是Ionide的问题——正如它所说,
2v2
根本不是一个有效的东西。它以数字开头,因此编译器试图将其解释为数字,但它不是任何类型的有效数字。你想干什么?(事实上,是的,这整段代码都很奇怪。)投票结束这个问题是离题的——我不知道你们想要什么;你的标题是关于一个文本编辑器的,你要求提供建议,但是给了我们一个错误,你不知道你尝试了什么。你看过了吗?