海の響きを懐かしむ

観たもの聴いたもの読んだものの記録と、日記など

ruby入門

rubyを始めることにした。
自分なりに他の言語と違って戸惑ったところや、非常に基本的なところをメモしておく。


[メソッドの記述]
def
  (処理)
end


[例外処理]
begin
  (処理)
(rescue)
  (処理)
end


[繰り返し処理]
loop → 変数のスコープあり
while loop → 変数のスコープなし


[ブロック]
do |hoge|
  (処理)
end


ループの抽象化に用いる記述。
CやJavaでいう引数つきのメソッド≒ブロックつきメソッド?


[真偽]
true → 真
false, nil → 偽


現時点ではfalseとnilの正確な違いがよくわからない。
ただざっと他人のコードを読んだ限り、nilのほうがよく使われているきらいがある。


[ライブラリ]

require 'ライブラリ名' → ライブラリの読み込み
ライブラリ名::メソッド名(引数がある場合は引数名) → ライブラリ関数(メソッド?)の読み出し

例:array = Array.new() → 配列の生成


[標準出力]
print → 改行なし
puts → 改行あり
p → 続く引数がもし文字列の場合、" "で囲んで返す


[コマンド引数]
ARGV.shift


<雑感>
ほぼはじめてスクリプト言語というものに触れたが、以下の2点が気持ち悪かった。

  • 変数の型を宣言しない
  • main関数に相当するものが無い

後者に関しては、いろいろ勉強するところがありそうだが、とりあえず今は「書いた通りに上から実行される」という認識にとどめておく。またループの処理の部分が見慣れておらず戸惑ったが、ある程度コードを読むと慣れてきた。

Rubyにおけるトップレベル - メソッド - Ruby入門



またrubyではrubygemsというパッケージ管理システムがあり、これを使ってライブラリを管理する。portsとかaptと同じような書式で、

  • sudo gem install hoge

でhogeライブラリをインストールできる。perlでいうところのCPANも同じような役割らしい。