Grails 本を買いにいったら、漫画の新作がたくさん出てきてました。読み切れません。
RATMAN もホルモーも続きが気になる作品だったので、久々にワクワクしてしまうなど。
ディーふらぐは「竹内崇大推薦!!」とかいう帯に釣られてつい。
「誰々推薦!」って帯に意味はあるのかと聞かれたらあると思います。現に毎度釣られる人がここに。
「そうか、あの人の推薦か、それじゃ仕方ない」ってレジに持ってきますよね。何も考えず。
しかし渡会けいじさんの絵がすごくかわいいなー。
即売会とかでも壁で参加されてたりしたんですね(大手の名前とか把握してないので)。
他の絵も見てみたい。
ようやく人を入れても「片付けなさいよね」って呆れられて済まされるレベルまでは片付いた気がします(マテ
まとまった冊数が並んでいる様子に癒されるとか思っていた頃もあったのですが、ディスプレイスタイルを試してみたり。
見せてる手前の本を少し横にずらせば本を取り出せるし、下手に2列にするより使い勝手は向上しました。スワップ領域ができてるんだから当たり前ですよね。
贅沢な使い方をしよってと突っ込まれること請け合いですが、クローゼットには無印箱(大)*9 、手提げにつまれたブックタワー*4、家以外のところにもとかなんとか。それでも倍以上の数は売ってきてるはず;
前回、素直にチュートリアル通り Hello World をやってみたわけですが。トレースのおまけつきで。
Apribase » Scala で Hello World が出力されるまでをトレースしてみた
今回も素直にチュートリアル通り Java ライブラリを扱ってみました。フレーム表示と自作クラスファイルの読み込み確認のおまけつきで。
block must end in result expression, not in definition
素直にチュートリアルをやって Java ライブラリを呼べることを確認。
ふと println をコメントアウトしたら NetBeans におこられました。
コンパイルもしっかりとエラー。
block must end in result expression, not in definition
へー。ちょっとときめきました。
/*
* FrenchDate.scala
* kei <http://apribase.net>
* Created on 2009/02/22
*/
package net.apribase.index002
import java.util.{Date, Locale}
import java.text.DateFormat;
import java.text.DateFormat._
object FrenchDate {
/**
* @param args the command line arguments
*/
def main(args: Array[String]) {
var now = new Date
val df = getDateInstance(LONG, Locale.FRANCE)
println(df format now)
}
}
JFrame を呼んでみる
DateFormat とかがいけるならと、JFrame を呼んでみる。
NetBeans Scala プラグインだと、「インポートの編成」ができないのが致命的かも?
# いい方法があれば教えていただけると喜びます。
メソッドを呼ぶときはスペースで空けるのが Smalltalk や ruby っぽい。
でも NetBeans Scala プラグインだと、スペースを打ったあとオブジェクトが可能な振る舞いを教えてくれないんですが;
ドットだと補完が入るので、どちらでもいいなら現状はドットを使っちゃいそう。
# これもいい方法があれば同文。
/*
* HelloJFrame.scala
* kei <http://apribase.net>
* Created on 2009/02/22
*/
package net.apribase.index002
import javax.swing.JFrame
object HelloJFrame {
/**
* @param args the command line arguments
*/
def main(args: Array[String]) {
var frame = new JFrame
frame setSize(400, 300)
frame setVisible(true)
}
}
自作フレームを呼んでみる
Scala プロジェクト上でも Java クラスの作成ができるみたいです。
NetBeans の Matisse と連携できたら夢のよう。
OriginalFrame.java というのを作ってみました。
# Matisse でサクサク作ったのでソースコードはなしで。
調子にのって Nimbus Look and Feel も適用してみました。
引数に String とか怖すぎるし、Java で書くなら try-catch で囲めって NetBeans はおこるしコンパイルもエラーになるしのはずなんですが、何もおこられません。
でも new OriginalFrame は NetBeans 上でおこられました。そんなクラスは知らんよって。
もちろん同一パッケージ上に置いてますよ。
Scala と Java、どちらもクラスファイルにコンパイルされる先は同じです。
ちゃんと同一パッケージに配置されてます。
そんなわけでおこられてるのにコンパイルは通ります。
うごいたー。
/*
* HelloOriginalFrame.scala
* kei
* Created on 2009/02/22
*/
package net.apribase.index002
import javax.swing.UIManager
object HelloOriginalFrame {
/**
* @param args the command line arguments
*/
def main(args: Array[String]) {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
new OriginalFrame().setVisible(true)
}
}
確認できたこと
NetBeans Scala プラグインだと、さすがにまだ Java ほどサクサク補完等のサポートがあるわけじゃなさそう。
でも自分の定義したクラスからもオブジェクトを生成できるので、Java と Scala は一緒に書けるわけだからやりやすいほうで書けるということ。多言語プログラミング楽しくなってきた…!
とりあえずロジックを Scala で書きつつ Swing や ICEFaces を Java で描くとか試してみよう。
昨日は OSC 春に参加してました。with いいづかせんせ。
遅刻して OpenSolaris を見にいけなかったけど、お昼の仮想化から参加です。
今回のライトニングトークは教育とか調査とかの単語が多くていつもと雰囲気違ったかんじ。
Ruby、かっこいいですよね、わかります。
りんちゃんかぁぁいいいい。
優柔不断っぷりを全快に出しながら立川へ移動してハンバーガーを食べるなど。
冷たかったのでハンバーガーというよりサンドイッチという印象。
ゲームショップを紹介してもらうなど。
確かオライリーが高くて云々言ってた人が大きな箱を衝動買いしてました。
帰ってからもそれなりにいろいろできたし、この時間に終わるとちょうどいいかんじ。
禁書目録も15巻まで読み終わったのでラストスパートに SS 買ってきました。
あと土橋さんの本が出てましたよ。絵が魚さんじゃなかったので気づきにくかったですけど。他作品みたいなドロドロさもそんなになく。
Xen の内部構造の本はハイパーバイザ周りのモヤっとを取り除くために買いました。
Mercurial は NetBeans つながりで使ってるんですけど、github みたいなスタンダードと言えそうな hg リポジトリってないですか。
ThoughtWorks アンソロジーは軽く読んだかんじでもときめきそうなかんじ。






















