【ハウツー】
サーバサイドJavaScriptライブラリ「Narwhal」のAPIを知る
1 サーバサイドJavaScriptライブラリ「Narwhal」のAPIを知る
2009/07/10
Narwhalが提供するAPI
Narwhalはサーバサイドで利用することを想定したJavaScriptライブラリだ。概要については『サーバサイドJavaScriptライブラリ「Narwhal」を使ってみよう』を参照して欲しい。
今回はNarwhalが提供する各種のAPIについて踏み込んでみようと思う。ただし、Narwhalが提供するライブラリはまだドキュメント等が整備されておらず、実験的な実装と思われるものも多い。そのため将来のバージョンではAPIが変更になる可能性もあるので注意して欲しい。
システムインタフェース
systemオブジェクトを通してコマンドライン引数や環境変数、標準入出力などを参照することができる。
systemオブジェクトの使用例
// 標準出力への出力
system.stdout.println("Hello Narwhal!");
// 環境変数
var path = system.env['PATH'];
// コマンドライン引数
var file = system.args[0]; // ファイル名
var arg1 = system.args[1]; // 第一引数
var arg2 = system.args[2]; // 第一引数
また、osモジュールを使うと任意のコマンドを実行することができる。
コマンドの実行例
var os = require("os");
print(os.command("ls"));
ファイルシステムへのアクセス
続いてファイルシステムにアクセスするためのAPIを見てみよう。以下はファイルの入出力を行う簡単な例だ。
var File = require("file");
// ファイルの読み込み
var data = File.read("test.txt");
// ファイルの書き出し
File.write("test.txt", data);
fileモジュールではこの他にも様々な関数が用意されている。主なものを以下に示す。
ファイル入出力
read(ファイルパス, オプション): ファイルパスで指定したファイルを読み込む
write(ファイルパス, データ, オプション): ファイルパスで指定したファイルにデータを書き出す
copy(コピー元, コピー先): コピー元からコピー先へファイルをコピーする
move(移動元, 移動先): 移動元から移動先へファイルを移動する
mkdir(パス): パスで指定したフォルダを作成する
remove(パス): パスで指定したファイルを削除する
rmdir(パス): パスで指定したディレクトリを削除する
rmtree(パス): パスで指定したディレクトリを削除する。ディレクトリ内にファイルやディレクトリが存在する場合、再帰的に削除される
ファイルの検索
list(パス): 指定したパス直下のファイル、ディレクトリのリストを取得する
listTree(パス): 指定したパス配下のサブディレクトリを含むファイル、ディレクトリのリストを取得する
glob(パターン): 指定したパターン(ワイルドカードを使用可能)でファイルもしくはディレクトリを検索する
パス操作
relative(比較元のパス, 比較対象のパス): 比較元のパスと比較対象のパスとの間の相対パスを求める
absolute(パス): 指定したパスを絶対パスに変換する
dirname(パス): 指定したパスのうちディレクトリ部分を取得する
basename(パス): 指定したパスのうちファイル名もしくがフォルダ名にあたる部分のみを取得する
ファイルテスト
exists(パス): 指定したパスが存在するかどうかを調べる
isFile(パス): 指定したパスがファイルかどうかを調べる
isDirectory(パス): 指定したパスがディレクトリかどうかを調べる
isLink(パス): 指定したパスがリンクかどうかを調べる
isReadable(パス): 指定したパスが読み取り可能かどうかを調べる
isWritable(パス): 指定したパスが書き込み可能かどうかを調べる
ヘッドライン
- 【レポート】打ち上げを目前に控えた「あかつき」と「IKAROS」の機体が公開[19:28 3/12]サイエンス
- 今月も『TechNet Plus Direct サブスクリプション』を5名様にプレゼント![15:00 3/12]WinServer2008 R2 導入体験記
- 【コラム】コンピュータアーキテクチャの話 第180回 Intelのトレースキャッシュ[08:00 3/12]エレクトロニクス
- Google、JavaScriptテストスイート「Sputnik」をブラウザから実行可能に[07:09 3/12]JavaScript / CSS / HTML
- はやぶさ、地球への軌道決定に向けイオンエンジンを停止し慣性飛行へ移行[07:00 3/12]サイエンス
- 「ひので」、太陽極域に強い磁場を発見[06:00 3/12]サイエンス
- ルネサス、カメラシステム向けシステムLSIを製品化[05:00 3/12]エレクトロニクス
- Xilinx、車載向けSpartan-6シリーズを発表[05:00 3/12]エレクトロニクス
- ISS、20年まで運用可能なことを確認 - 28年まで対応可能かの検討も開始[20:25 3/11]サイエンス
- ADI、短距離ワイヤレスシステム向けRFトランシーバを発表[20:00 3/11]エレクトロニクス







