订阅中收到消息, Don于5月2日发布了版本号为1.9.4.15的F#新版本.
目前已经有MSI安装包的链接了, 以下方法已过时!
不过只给出了ZIP压缩包的链接地址, 不知道是因为没有MSI版本还是搞错了.
> 下载解压缩后发现安装方式没有变化, 和以前一样只提供了两个.bat文件, 分别用于VS2003和VS2005.
之前看到过一篇文章, 用修改路径的方法安装到VS2008会有一些问题, 不过还是决定尝试一下.
我的机器上曾经装过上一版本F# - 1.9.3.14, 安装目录是
D:\\Program Files\\FSharp-1.9.3.14
. 于是把ZIP包解压缩到D:\\Program Files\\FSharp-1.9.4.15
. 之后把注册表里能搜索到的 FSharp-1.9.3.14
字符串全部替换成 FSharp-1.9.4.15
.打开VS2008中的F#解决方案, 基本正常(除了编译…), 错误信息是说找不到
FSharp.Core
.仔细研究批处理安装文件中发现这样一段:
if exist “%_ROOT%\bin\FSharp.Core%%n.dll” (
if “%CORDIR:v1.=X%” == “%CORDIR%” (
“%_ROOT%\setup\gac” %1 “%_ROOT%\bin\FSharp.Core%%n.dll”
REM if ERRORLEVEL 0 (
if NOT “%NGEN%”==”” (
“%NGEN%” /nologo “%_ROOT%\bin\FSharp.Core%%n.dll”
)
)
)
大致明白了报错的原因是找不到
FSharp.Core.dll
文件, 解决办法是打开CMD.EXE, 切换到F#安装目录, 运行如下命令: setup\\gac.exe bin\\fsharp.core.dll
. 返回如下结果就代表成功了:Added bin\\FSharp.Core.dll to the global assembly cache.
新版本的F#更新列表已经公布了, 粗略的看了一遍, 对于我这样的菜鸟来说有些地方之前都没碰过, 怎么改变和我的关系也不大. 不过有几个细节是会经常碰到的:
负号无需括号
- 新
3 * (-2)
- 旧
3 * -2
减号 避免与负号产生歧义
- 新
3 - 2
或3-2
- 旧
3 -2
转换 反对使用OCaml风格
- 新
int
- 旧
int_of_float
字符串 为将来转换字符串打下基础
- 新
String.CompareTo
- 旧
string.CompareTo
输出 尽量不要使用OCaml了
- 新
Console.WriteLine()
- 旧
print_newline