Ruby公式サイトの他の言語とRubyの違いを眺めてみて
www.ruby-lang.orgの多言語からのRuby入門が面白かった。
他の言語と同じところ、違うところがまとめられている。
個人的にPythonとJavaが得意で、そこを眺めてみたが、こういう風にまとめられていると導入しやすいと思う。
気になったところを書き出してみる。
irbと言われる対話型の実行環境がある
この環境はとても便利。使ったことのないクラスを使う必要がある場合や、普段から使っているけどなかなか覚えられないsubstringの区切り位置を確認するときに重宝する。
文字列の2バイト目から5バイト欲しいときはどう指定するのか。対話画面があるとすぐに試せる。
今でこそ、Javaにもjshellができたが、それまでは小さなプログラムを作って、コンパイルして実行する必要があった。Eclipse 2の頃はスクラッチパットがあったが、今はどうなのだろう。
irbでいろいろ試しながら、スクリプトを作ることにしよう。
三重引用符で複数行リテラル
これは、Pythonでも好きなところ。Rubyでも使えるのは良いことだ。
Javaだったら、StringBuilder使うのも面倒なので、Propertiesにでも書き出しておくだろうか。
リストは[]、辞書は{}
PythonのTupleは無いようだ。あまり使わないから、どっちらでもよいが。
メソッド呼び出しの括弧はオプション
さすがPerlの次の言語だ。メソッドの呼び出しに括弧がいらない。Perlもそうであった。
昔のVBの様に戻り値の無いときの利用なら許容範囲かと思う。
True、Falseはtrueとfalse。Noneの変わりはnil。
PythonもTrue、Falseはtrueとfalseになってくれれば良いのに。
Noneとnilはnullになってしまえば良いのに。
importの代わりにrequireを使う
JRubyから始めたので、requireとimportの違いがいまだによくわからない。
MyClass.new()
インスタンスの作成が独特。new()もメソッドの扱いなのだろうか。
PythonならMyClass()。Javaならnew MyClass()。知ってしまえば、どれでも大した差はないか。
==とequals()
Rubyで文字列の比較は==。Javaならequals。
Rubyにはequalsは無く、equal?がある。しかしRubyのequal?はオブジェクトの比較用。Javaとは逆の動きだ。
まとめ
RubyもPythonもJavaも違いがあって面白い。
本当は何か1つの言語を極めるべきなのかもしれないけど、同じ言語ばかりだと飽きてしまうので、あれもこれも使っていきたいと思っている。
- BOM付きUTF-8からBOMを除去するpython
- EclipseLinkでJPA
- eclipseの良く使うショートカットキー
- eclipseデフォルトの文字コード
- itext5でPDFを暗号化する
- Java DateFormat
- Java8で指定回数繰り返し
- Java9でJAXB
- JavaでZip圧縮
- javaでイメージフォーマット変換
コメントを残す