首页 > 代码库 > 也谈在 .NET 平台上使用 Scala 语言(上)
也谈在 .NET 平台上使用 Scala 语言(上)
前几天。老赵发表了两篇文章:在.NET平台上使用Scala语言(上):初尝 和 在.NET平台上使用Scala语言(下):分析。
我拜读了以后,对 Scala 语言也感兴趣。于是就開始了尝试。
在 Ubuntu 9.10 操作系统上安装 Scala SDK 是很easy的一件事:
能够看出,安装的版本号是 2.7.5。离最新版本号 2.7.7 也不远了。Ubuntn 会定期更新其提供的软件。相信不久以后 Ubuntu 系统中的 Scala 软件包就会升级到更新的版本号。
从上图能够看出,Ubuntu 还提供了一些有关线性代数(Linear Algebra)等方面的 Scalable 包。
Ubuntu 提供的 Scala 软件包并不包括 sbaz 工具。这是因为 Ubuntu 使用自己 apt 工具进行软件包管理,所以会禁用其它的软件包管理工具。
比方说。象 Firefox 等软件的“检查更新”菜单项在 Ubuntu 系统也是被禁用或取消了的。
Ubuntu 系统中 Scala 的库文件放在 /usr/share/java 文件夹下,例如以下图所看到的:
而 Scala 编译器和解释程序放在 /usr/bin 文件夹下,例如以下图所看到的:
能够看出,在 Ubuntu 操作系统中,Scala 软件的各个文件是分散在操作系统的各处的,而不是集中在如同一个如同 /opt/scala-2.7 之类的文件夹下。这是 Debian 类型的 Linux 的设计哲学。这样的设计哲学与各种软件包各自集中存放的设计哲学各有好处和短处吧。假设要展开讨论。又是一场口水战了。:)
当然,在 Ubuntu 操作系统中也能够不使用 apt-get 命令,而是自己去 Scala 官方站点下载最新 Scala 2.7.7 的 Linux 安装包,自己安装,这样就会集中安装在一起了,并且也能够有 sbaz 工具了。
当然,这时候就要你自己负责 Scala 软件包的升级更新了,Ubuntu 操作系统可不会帮你升级更新不使用 apt-get 命令安装的软件包的。
因为没有 sbaz 工具,我们须要自己找来 mscorlib.dll、predef.dll 和 scalaruntime.dll 这三个文件,然后放到 /usr/local/lib/scala-net 文件夹下,例如以下所看到的:
然后再编写一个例如以下所看到的的 scalac-net 文件放到 /usr/local/bin 文件夹下:
这样,就准备好了 Scala 的 .NET 环境,能够開始干活了。
首先,编辑一个例如以下图所看到的的 dotnet.scala 源程序:
然后。按下面步骤编译和执行这个程序:
注意,在执行 dotnet.exe 之前。必须把 /usr/local/lib/scala-net/predef.dll 文件复制到当前文件夹下。
能够看出,Scala.NET 的 CLR 版本号已经是 2.0.50727.1433 了。
我们来看看这台机上有哪些 mscorlib.dll 文件:
在 /opt/mono-2.6/lib/mono 文件夹下的是 Mono 2.6.1 版本号的。请參见:在 Ubuntu 9.10 操作系统中安装 mono 2.6。
在 /usr/lib/mono 文件夹下的是 Ubuntu 9.10 操作系统自带的 Mono 2.4.2.3 版本号的。
在 /usr/local/lib/scala-net 文件夹下的是 Scala.NET 的。
这五个 mscorlib.dll 文件的大小各不同样,看来是不同版本号的。
至于这些 mscorlib.dll 文件的版本号各是多少。以及 Scala.NET 的进一步话题。留待下一篇文章继续。
也谈在 .NET 平台上使用 Scala 语言(上)