Ruby + XML + XSLTが動いた!!!

この記事は筆者が見た夢を一人称視点で叙述した内容です。事実ではなく、実際の人物等とは一切関係ありません。

Ruby + XML + XSLTが動いた!!!

  1. Rubyはそこそこキモい
  2. 「こう書きたい」がRubyではできる
  3. インポート
  4. Pythonの方が楽/便利/好きなところもある

Rubyで実装をしていたJig(仮)が動いた!!!!

自分がはじめて書いた、まとまった規模のスクリプトなんでとっても嬉しいよ。まだまだテスト段階で実用にはほど遠いけど。管理インターフェースないし。

でも俄然やる気が出るね。今週末で片付けて勉強に専念したいところ。

以下、ここ数日をRubyに費やしてのRubyに対する所見。文系趣味プログラマだからトンチンカンなこと言っているかもしれないけど、やんわりと教えてほしいです。みてるだれか!!

Rubyはそこそこキモい

いい意味で! すんごくいい意味で!! ただ、演算子の一部の実装がメソッド呼び出しだったりして、演算子を再定義できるのがまた。これはPythonでも可能だけど、Rubyは演算子まんまをメソッド名に使うもんだから気持ち悪い。

def +(other)
  # ...
end

こんなかんじ? と、メソッド名に!や?が使えるのもなかなか気持ち悪い。

「こう書きたい」がRubyではできる

別にPythonじゃ不十分だとか、そういうわけではないんだけれども。非常に細かいけど、len(arr)とかはarray.lengthって書けたらいいな、とは常日頃から思っていた。

あと、あんまりメソッド名を覚えてなくていいというか、シンタックスシュガー…って言うのかな。とりあえずメソッド! メソッド! ってそんなにしつこい感じでもなく、記号で代替できたり、っていうのはいいな、と思う。

Pythonより記号が多いと思うけど、Perlの様な状態ではない、と思う。

Perlのソースコードは読めるようになる気がしない。

インポート

Pythonはライブラリのインポートまわりがややこしいんで、あんまり小分けにしたくない。特に子ディレクトリを作るとまたもう…。まあ、必要以上に小分けにする必要もないんだけど。

Rubyはパスが通っているところに置いて、requireなりloadしてあげればいいし。

Pythonの方が楽/便利/好きなところもある

とはいいつつも、Pythonへの未練というか、逆に「Rubyでこうできたらいい」というのもあったりする。具体的にはシーケンス(ってRubyでも言うのか?)のスライス。

例えば、配列のある要素以降を得るのにPythonだとarr[n:]と書ける。けど、Rubyだとarr[n, arr.size]って書かないといけない。と思う。もっとniceなやり方があったら誰か教えて。

ふつうにarr[n:-1]でいけた。アホか。

教えて、とか言ったけどコメント機能とかつけてないしなー。めんどくさいもんなー。その内、DISQUSあたりを使ってみるかな。