2008-12-09 [長年日記]
■正規表現遣いは希少価値だ。ステータスだ
とか全然思ってないけど、秀丸のバックトラックあり正規表現での置換ですら、便利そうだねー、とか言われて、便利だから覚えればいいのに、と言っても笑って誤魔化されるなんて普通の光景すぎて笑って誤魔化すしかない。
キーマクロや正規表現、pythonやgawkとか使ってテキストファイルを処理してるところを見ては、「そんな便利なものがあるんだ」とか、「そんなことできるんだ」とか言うんだけど、そこから踏み出さない。
仕事は楽しようと考えてるみたいだけど、他に何も苦労せずに楽しようとしか考えてないんじゃないかと。勉強しろよ・・・
考え方の違い - 予定は未定Blog版
あはははー。
■ちひろテスト
昨日のうちに書いておきたかったんだけどな……。Windowsは(略)。
Senはどこかに解凍しておく。辞書も作る。
NetBeansでライブラリとしてjarを登録してしまう。この時、ApacheLoggingとの依存関係があるのだけどその辺どうしたらいいか分からない。後で。
とりあえず、今はScalaのプロジェクトのライブラリにApacheLoggingとSen(上で登録したものね)を追加。
実行時VMオプションに、-Dsen.home=C:\usr\loca\sen のように書いて、解凍したディレクトリを指定。
package scalaapplication1 import net.java.sen.{StringTagger, Token} object NewClass { def main(args: Array[String]) = { var tagger :StringTagger = StringTagger.getInstance; var s = "毎日新聞が本社ビル完成を一面記事にしているのを見て"+ "新聞を読む気が無くなった"; var token = tagger.analyze(s); //Javaなら Token[] token = tagger.analyze(s); if (token != null) { // var i :Token = new Token(); for(i <- token) { println(i.toString() + "\t(" + i.getBasicString() + ")" + "\t" + i.getPos() + "(" + i.start() + "," + i.end() + "," + i.length() + ")\t" + i.getReading() + "\t" + i.getPronunciation() ); } } } }
ま、こんな感じで。
参考にした、
では、var i :Token = new Token(); と書いていたけど、これはforで型推論してくれるはずなのでコメントにしたらやっぱり動いた。
■親クラスの引数付きコンストラクタ
class A(test: String) {} class AA(test:String) extends A(test) {}
extends の右で親クラスのコンストラクタの呼び方を指定、と。
■ブロックは式で終わる必要があります
block must end in result expression, not in definition
が出たらセミコロン。
そのまま暗記。
……じゃ駄目かな。後で調べないとな。