Ruby 勉強メモ(1)
はじめに
Rubyを始めた頃の勉強メモが残っていたので振り返り。
ほとんど個人的にビックリしたことをメモしていた程度のものです。
Ruby の特徴
- Ruby は全てがオブジェクト。
- nil とは値がないというオブジェクト
- 破壊的メソッドと非破壊的メソッドがある
- if 文は後置でも大丈夫らしい。ソースの意味合いで変えるとgood!!
- 「p」はPHPでいう「var_dump」
- メソッド呼び出し時、()省略可。
- セミコロンもいらない。
- ブロックという概念。
- スコープを意識する必要有り
- メソッド呼び出し時、値の返却時 return がいらない!!
Rubyのnilチェック、空文字チェックについて
-
nil?
- nilの場合true
- それ以外はfalse
-
empty?
- StringやArrayに実装されているメソッド
- 空の文字列や配列の場合true
- nilに対して呼び出すとNoMethodError?が発生する(超注意)
-
blank?
- nil? + empty?のようなメソッド
- nilまたは空のオブジェクトをチェックできる。
- Railsで拡張されたメソッドなので、Rubyのみでは使えない
-
present?
- !blank?を実行する
- Railsで拡張されたメソッドなので、Rubyのみでは使えない
通常のRubyでnilチェックと空文字チェックを同時に行う場合は下記のような書き方になる。
変数.nil? || 変数.empty?
nil?とempty?を逆にすると、変数がnilの場合.empty?を行うと、
NoMethodErrorをはくので注意が必要。
文字操作
s = 'welcome to Ruby World'
puts s[0] #=>w
puts s[0,1] #=>w
puts s[0,2] #=>we
puts s['Ruby'] #=>Ruby
puts s['hoge'] = 'hoge' #welcome to hoge World!
なん・・・だとっ・・・!
文字列操作ってこんなに簡単でしたっけ?
文字列への *
あと、こんなこともできる。
puts 's' * 10 #=> ==========
デバックする時に、「p」と一緒にすごい重宝しています
感想
当時はプログラマーとして9ヶ月目くらいで、
JavaとPHPしか経験していなかったので、
Rubyの世界が本当に新鮮でした。
もう少し深いところまでRubyは勉強していきたいです。