「プロを目指す人のためのRuby入門」を読んでRubyに入門した感想
プロを目指す人のためのRuby入門
自分のスキル
- エンジニア業務歴2年ぐらい
- いわゆるスクリプト言語、コンパイル言語は両方経験ある(主にJavaScript, Apex(Java)等)
- プログラミング自体は学生時代含めて6年前後はやってる
- Rubyほぼ知らない
感想
本の感想というよりはRubyを初めて学んで感じたことをジャンル別に整理してみた。
驚き
(少なくとも自分は)他の言語で見たことがない規則や構文
- 変数を宣言するだけの構文はない
- 末尾が?のメソッド名は返り値が真偽値、末尾が!は副作用ありを示す慣習
- メソッド内で最後に評価された式が戻り値になる
- メソッド宣言時や呼び出し時に引数のカッコを省略可能
- ifの反対の意味を持つunless
- シンボルの概念(JavaのEnumと同じな気もする)
- ifの条件式でローカル変数に代入
- privateメソッドはレシーバーを指定できないという定義
- aliasキーワード(便利に見えるけど混乱するだけな気もする)
- クラスにアクセス修飾子が使えない
JavaScriptにも欲しい
JavaScriptとは違う
- メソッド呼び出し時の引数の過不足はエラー
- ブロックの概念(クロージャ)
- 範囲オブジェクトがある
JavaScriptと似ている
- 後付で何でも修正できる
忘れそう・難しい
- 引数の最後がハッシュならハッシュリテラルの{}を省略可能
- メソッド宣言時の引数の種類と並び順
- Proc.newとラムダの違い
- 二重コロンでモジュール内のクラス、クラス内の定数参照
例外クラスについて
(プロを目指す人のためのRuby入門 図9-3より引用)
総括
- (慣れの問題とは思うが)Rubyは省略記法や構文が独特かつ自由な印象があってすぐに忘れそう
- その分他の言語と比べると、表現したいことに対してコードの量は少なく済むので慣れている人は書きやすいし読みやすいのかも
- 静的型付がないので、コードの品質を保てないまま規模が大きくなると非常に辛そう(JavaScriptと同様な感じになる)