Scala
提供: FreeBSD入門
スポンサーリンク
Scala とは、Scalable Lanaugeの接頭辞です。Scalaは、オブジェクト指向言語と関数型言語の特徴を統合した言語です。
読み方
- Scala
- すから
目次
概要
Scala
インストール
pkgコマンドでインストールする場合
sudo pkg install
インストール例
% sudo pkg install scala Updating repository catalogue The following 9 packages will be installed: Installing recordproto: 1.14.2 Installing xbitmaps: 1.1.1 Upgrading freetype2: 2.5.2 -> 2.5.3 Installing javavmwrapper: 2.4_3 Installing java-zoneinfo: 2013.i Installing libXtst: 1.2.2 Installing open-motif: 2.3.4 Installing openjdk6: b30_2,1 Installing scala: 2.10.3 The installation will require 208 MB more space 83 MB to be downloaded Proceed with installing packages [y/N]: y recordproto-1.14.2.txz 100% 4652 4.5KB/s 4.5KB/s 00:00 xbitmaps-1.1.1.txz 100% 22KB 22.4KB/s 22.4KB/s 00:00 freetype2-2.5.3.txz 100% 448KB 74.7KB/s 118.1KB/s 00:06 javavmwrapper-2.4_3.txz 100% 18KB 17.7KB/s 17.7KB/s 00:00 java-zoneinfo-2013.i.txz 100% 75KB 75.4KB/s 75.4KB/s 00:01 libXtst-1.2.2.txz 100% 21KB 20.5KB/s 20.5KB/s 00:00 open-motif-2.3.4.txz 100% 7562KB 83.1KB/s 112.5KB/s 01:31 openjdk6-b30_2,1.txz 100% 47MB 74.6KB/s 128.2KB/s 10:40 scala-2.10.3.txz 100% 29MB 93.0KB/s 370.4KB/s 05:16 Checking integrity... done [1/9] Installing recordproto-1.14.2... done [2/9] Installing xbitmaps-1.1.1... done [3/9] Upgrading freetype2 from 2.5.2 to 2.5.3... done [4/9] Installing javavmwrapper-2.4_3... done [5/9] Installing java-zoneinfo-2013.i... done [6/9] Installing libXtst-1.2.2... done [7/9] Installing open-motif-2.3.4... done [8/9] Installing openjdk6-b30_2,1... done [9/9] Installing scala-2.10.3... done ======UNIQ30fc82716b14b39e-h-3--QINU================================================================ This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and procfs(5) mounted on /proc. If you have not done it yet, please do the following: mount -t fdescfs fdesc /dev/fd mount -t procfs proc /proc To make it permanent, you need the following lines in /etc/fstab: fdesc /dev/fd fdescfs rw 0 0 proc /proc procfs rw 0 0 ======UNIQ30fc82716b14b39e-h-4--QINU================================================================
設定
OpenJDSKの設定
/etc/fstab
/etc/fstab に以下の設定を加えます。
fdesc /dev/fd fdescfs rw 0 0 proc /proc procfs rw 0 0
設定を反映させるには、以下のコマンドを実行します。
sudo mount -a
コマンドラインで一時的に設定する場合には、以下のコマンドを実行します。
mount -t fdescfs fdesc /dev/fd mount -t procfs proc /proc
シェルの設定
環境変数に JAVA_HOME を設定します。
sh系
export JAVA_HOME=/usr/local/openjdk6
csh系
setenv JAVA_HOME /usr/local/openjdk6
使い方
コマンドラインオプション
$ scala -help Usage: scala <options> [<script|class|object|jar> <arguments>] or scala -help All options to scalac (see scalac -help) are also allowed. The first given argument other than options to scala designates what to run. Runnable targets are: - a file containing scala source - the name of a compiled class - a runnable jar file with a valid Main-Class attribute - or if no argument is given, the repl (interactive shell) is started Options to scala which reach the java runtime: -Dname=prop passed directly to java to set system properties -J<arg> -J is stripped and <arg> passed to java as-is -nobootcp do not put the scala jars on the boot classpath (slower) Other startup options: -howtorun what to run <script|object|jar|guess> (default: guess) -i <file> preload <file> before starting the repl -e <string> execute <string> as if entered in the repl -save save the compiled script in a jar for future use -nc no compilation daemon: do not use the fsc offline compiler A file argument will be run as a scala script unless it contains only self-contained compilation units (classes and objects) and exactly one runnable main method. In that case the file will be compiled and the main method invoked. This provides a bridge between scripts and standard scala source. Options for plugin 'continuations': -P:continuations:enable Enable continuations
ScalaでのHello Worldプログラム Hello.scala
"Hello World"プログラム、Hello.scalaは、以下のとおりです。
object Hello { def main(args: Array[String]) { println("Hello"); } }
コンパイルせずに実行する例です。
$ scala Hello.scala Hello
コンパイルして実行する例です。
$ scalac Hello.scala $ scala Hello Hello
scalaからロードして実行する例です。
$ scala Welcome to Scala version 2.10.3 (OpenJDK 64-Bit Server VM, Java 1.6.0_32). Type in expressions to have them evaluated. Type :help for more information. scala> :load Hello.scala Loading Hello.scala... defined module Hello scala> Hello.main(Array()) Hello scala>
ファイルタイプは、以下の通りです。
$ file * Hello$.class: compiled Java class data, version 50.0 (Java 1.6) Hello.class: compiled Java class data, version 50.0 (Java 1.6) Hello.scala: C source, ASCII text
関連項目
- Scala
ツイート
スポンサーリンク