読者です 読者をやめる 読者になる 読者になる

ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

パーフェクトRuby勉強日記 2章Rubyの基礎

たんたんとアウトプットして行きます。

n=3
if n.zero?
  puts '0でした'
elsif n.even?()
  puts '偶数でした'
elsif n.odd?()
  puts '奇数でした'
else
  puts'わかりません'
end

if文。zero?といった?がついたメソッドって分かりやすくて良いですよねー。
.even?にしろ.odd?にしろ標準のメソッドが充実しすぎ…

class Ruler
  attr_accessor:length
  #アクセサ
  
  def display_length
    puts length
  end
end

ruler=Ruler.new
ruler.length=30

ruler.display_length

たった1行でセッターゲッター実装…便利

class Parent
  def hello
    puts 'Hello,Parent class!'
  end
end

class Child < Parent
  def hi
    puts 'Hello,Child class!'
  end
end

child = Child.new
child.hello #->Hello,Parent class!
child.hi    #->Hello,Child class!

継承もシンプルに書けるね

p (1..5).include?(5)
p (1...5).include?(5) ##...は末尾は含まれないのでfalse
<<|
範囲も便利だし、とても分かりやすい。

>|ruby|
pattern = /[0-9]+/ 
# ===マッチするかどうか
p pattern === 'HAL 9000'      #->true
p pattern === 'Space Odyssey' #->false

# =~は最初にマッチする位置を表示
p pattern =~ 'HAL 9000'       #->4 
p pattern =~ 'Space Odyssey'  #->nil

正規表現はまたあとでRegexpクラスのところでやるのかな。

p a=1   #->1
p a+=1  #->2

p b||=2 #->2
# ||って何だっけ??

何だっけ???
自己代入演算



イヤー便利だなー便利ダナーと言ってばっかりですがまだまだ入口…
こういった標準メソッドは早く覚えて使えるようになりたいですが
ちまちまやるよりもっと面白いことやりたいな~なんて思いつつ
基礎体力は大事なのでじっくりやりますよ。

##追記
ソースコードがインデントも死んでしまうので何かないかなーと調べるとやはりありました。
ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ


なんと素晴らしい。きれいですね。