scala

Vim で Scala のシンタックスハイライト(カラースキーマ)を使う

基礎的知識として、Mac とか Ubuntu の vi は vim です。つまりふつーに vi コマンドで拡張子が .scala のファイルを開いた場合に、Scala 用のシンタックスカラーになってくれるようにする設定方法です。 Scala 2.9 をインストールする MacBook Air 使ってる…

Scala 2.9.0.1 をインストール

MacBook Airに最新版のScalaをインストールしました。OSのバージョンは、Mac OS X 10.6.7です。 インストール Macportでインストールします。 $ sudo port selfupdate $ port search scala $ sudo port install scala29 実行ファイルへのパスを通す インスト…

Scala2.8 + Lift2.2 + SBT0.7.4 で構築

これを見ながらやってみた。 http://www.assembla.com/wiki/show/liftweb/USING_sbt 事前準備 JDKをインストール Scalaをインストール Mavenをインストール SBTをインストール まずはMavenで基本構造を作成 適当なディレクトリ作成 $mkdir work $cd work Mav…

SBTでScala2.8系をつかう

デフォルトはScala2.7.7となっています。sbtの対話モードで設定可能。 > set build.scala.versions 2.8.1 > reload こうすると scala-compiler-2.8.1.jar と scala-library-2.8.1.jar のダウンロードが始まり、環境が構築されるみたい。

Scalaで階乗の計算

なんとなく書いてみた。 package algorithm object Main { def main(args: Array[String]): Unit = { val input = 10 val num = fact(input) printf("fact(%d): %d\n", input, num) } def fact(n: Int): Int = { if (n == 0) return 1 return n * fact(n - 1…

JavaのListはScalaのfor文でそのまま使えない

こんなエラーで30分ハマった。foreach文使ってないのに、なんでforeachという単語がでてくるかに早く着目すべきだった。このエラーは「for文で使える型じゃないよ」という意味合いのようです。 value foreach is not a member of java.util.Set[String] 実際…

ScalaでDB操作

Scala勉強会#3の資料(PDFリンク)をみながら試してみました。JavaでJDBC使うのとまったく同じ。簡単すぎてビビる。 MySQLのテーブル mysql> select * from bs_tb; +------+------+------+ | bang | uria | tuki | +------+------+------+ | A103 | 101 | 4 …

具体的なMacPortsの説明

MacPortsは、Mac OS X用のパッケージ管理システムです。 アプリケーションを一元管理でき、ダウンロードやインストールも自動で行ってくれます。ちなみにportとは、コンピュータサイエンスにおいて「移植」という意味を持ちます。(Wikipediaリンク) 起源は…

Scalaはじめるとブツかる用語集

永遠に書きかけ。現在洗い出し中。説明ブンはいつか書く。 開発環境 JDK1.6 Javaの開発環境。コンパイラやデバッガが含まれる。Scala使うなら必ずインストールが必要。 Jetty JVM Java仮想マシン。ScalaはJVM上で動く言語。 Lift ScalaのWebアプリケーション…

ScalaのUnitってなによ。

戻り値で指定されるUnit object HelloWorld { def main(args: Array[String]): Unit { println("Hello, World") } } 関数型言語の関数について 関数型言語の「関数」ってのは、数学的な関数のことを意味します。C言語とかの関数(Javaで言うメソッド)とは別…

初心者が最初につまづく基本的なこと

Stringの型と戻り値を明示した厳格な書き方 object HelloWorld { def main(args: Array[String]): Unit = { val str: String = "Hello!" HelloWorld.say(str) } def say(s: String): Unit = { println(s) } Stringの型と戻り値を省略した書き方 object Hello…

Scalaでハローワールド

object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, World!") } } これを「HelloWorld.scala」というファイル名で保存し、scalacでコンパイルする。 D:\Lab\Scala>dir /b HelloWorld.scala D:\Lab\Scala>scalac HelloWorld.scala…