メモの日々


2009年02月05日(木) [長年日記]

  • Firefox 3.0.6がリリースされている。Firefoxは自動的にアップデートを通知してくれるから安心だよね、と思っていたら、自宅のFirefoxのバージョンが3.0.4だった。むむむ。どうやら管理ユーザでなく一般ユーザでログインしているとFirefoxの更新通知は機能しないみたい。以前は一般ユーザでも通知してくれていた気がするけどなあ。通知すべきだと思う。危ないので気をつけないと。
  • あっ、引越ししてから1年経っていた。早い。新築だったのに汚れてきた。おれのせいなんだなあ。まだ家具が揃っていない。
  • だからもう郵便は転送されてこないと。

[java][javascript] jrunscriptを使った

JDK6に付属しているjrunscriptを初めて使ったのでメモ。

先週メモしたプロパティファイルを読み込むクラスをjrunscript上で対話的に操作する例。

$ jrunscript -cp class:etc
js> var loader = Packages.sample.PropertiesLoader()
js> loader.load()
{name=oreore, os=CentOS, lang=java}
js> quit()
$

一応Rubyのirbのように使える。が、Linuxだと(少なくともおれの環境では)履歴を辿ったり補完をしたりすることができず、シェルとして不便すぎてイマイチ使えない。Windowsで動かすと履歴は辿れる。ちなみに、Java DBのijコマンドにも同様の問題がある。

  • Javaのクラスにアクセスするには、"トップレベルの変数" らしい Packages から辿る。「java」で始まるパッケージなどは Packages を省略できる。
  • 対話モードを終了するには quit() を実行する。括弧を書かないとエラーになるのが面倒。

(追記)

上の実行例をよく見ると、sample.PropertiesLoader のインスタンスを作るときに new と書いていない。書いたつもりだったが。

が、new と書かなくても動くみたい。書いても動く。なんでだ。JavaScriptってそういう仕様なんだっけ?

参考

[unix][shell][soft] rlwrapを使った

jrunscriptやijのコマンドラインが不便なので、こういうときに役に立つらしい、2.5年前にメモしたrlwrapをインストールしてみた。

おお、jrunscriptとijで履歴を辿れるようになり、ほかにもreadline相当のカーソル移動ができるようになった。

CentOS 5のYumリポジトリにはrlwrapが無いみたいなのでソースからビルドした。Ubuntuならパッケージ化されているみたい。