とにかく.でつなげて使うjsライブラリ?
1〜2ヵ月前くらいに作ったやつをCodeReposのsvnにaddしたままcommitしてなったプラグインを思い出してcommitした。
名はi_love_echo.jsであるw
オイラは:echo
コマンドが大好き。
タブ補完も大好き。
発想は、○○をあーしてこーして××して...という極めて日本語的なことをするにはオブジェクト指向(?)って便利だよね。.
で繋げれば良いんだもん、って感じ。
コマンドもマップもないプラグインである。あるのはメソッドのみで、:echo
,:js
から呼び出すのが基本。
起点のメソッドは
$
$x
のみ。
説明を書こうと思ったのだけれど、うまく書けそうにない。
ソースを読んで理解した人が使ってください(ぉ
以下残骸
$メソッド
引数は一つで、文字列、E4X、配列、オブジェクト、要素(Element,Document)。
呼び出すと、引数の型に応じて新たなオブジェクトを生成して返す。これを.
でつなげてメソッドをタブ補完していく
$xメソッド
XMLHttpRequest用のメソッド
第一引数はURL文字列
以降にHTTPのメソッド、ユーザ名、パスワードを入れることも可能。
例1: http://d.hatena.ne.jp/teramako/rssのタイトル一覧を出したい
:echo $x("http://d.hatena.ne.jp/teramako/rss").open().send().xml.toObject.get("item").map(function(item) item.title).value
ながいね(^^
- $xでXMLHttpRequestを生成して
- openして
- sendで送信して
- レスポンスのxmlを取得して
- xmlをオブジェクト化して
- オブジェクト内のitemメンバを取得して
- mapで各要素のtitleメンバのみ取得して
- その値を返す
例2: RSSをDOM Inspectorに突っ込んで解析したい
:js $x("http://d.hatena.ne.jp/teramako/rss").open().send().xml.inspect()