F# - 1.9.4.15 (MSI/ZIP) 发布

订阅中收到消息, Don于5月2日发布了版本号为1.9.4.15的F#新版本.

.msi 下载地址

.zip 下载地址



目前已经有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 - 23-2
  • 3 -2

转换 反对使用OCaml风格

  • int
  • int_of_float

字符串 为将来转换字符串打下基础

  • String.CompareTo
  • string.CompareTo

输出 尽量不要使用OCaml了

  • Console.WriteLine()
  • print_newline