2009-06-12から1日間の記事一覧

Swingのサンプル

簡単なフレーム SimpleGUIApplication という抽象クラスが用意されており、SwingUtilities#invokeLater を勝手にやってくれます。以下は空のパネルがあるだけのフレームの例です。 import scala.swing._ object Main extends SimpleGUIApplication { val pan…

Sourceでファイルの内容を表示

テキストファイルの出力は scala.io.Source にて以下の様に簡単に行えます。 import scala.io.Source object Main extends Application { Source.fromFile("test.txt").getLines.foreach(print) }

trait

traitの宣言と利用 trait は、Javaで言うインターフェースのようなものですが、メソッドのボディを持つことができる点が大きな違いとなります。 trait は以下のように定義します。 trait Friendly { def greet() = "Hi" } この例では、greet メソッドは"Hi"…

ケースクラス

ケースクラスはパターンマッチングのためのクラスです。 class の前に case キーワードを付けるとケースクラスになります。 abstract class Expr case class Number(n: Int) extends Expr case class Sum(e1: Expr, e2: Expr) extends Expr ケースクラスには…

ジェネリクスなクラス

ジェネリクスなクラスは[]にて型指定を行います。 class Type[T] { private var v : T = _ def set(value : T) {v=value} def get : T = v } object Main extends Application { val i1 = new Type[Int] //Int用 i1.set(100) println(i1.get) //100 val i2 =…