Ruby on Rails チュートリアル 第4章 まとめ

目次

  • 4.1 動機
  • 4.2 文字列とメソッド
  • 4.3 他のデータ構造
  • 4.4 Rubyにおけるクラス
  • 4.5 最後に

4.1 動機

  • Rubyの基礎を勉強
  • カスタムヘルパーの作成
    ページタイトルの編集
    ページ内にのprovideがなくても表示できるように修正
    テストを修正

4.2 文字列とメソッド

rails consolで勉強

  • 事前準備
    irbnの設定変更(~/.irbrcを作成)

  • コメント
    #始まりはコメント(この行はコメントになる)

  • 文字列
    「"」でくくる 例:"rails"
    変数に代入 例:r = "rails"
    出力 print puts
    式展開 「"#{変数}"」例:"#{r}" -> "rails"
    「'」でくくると式展開をしない。例:'#{r}' -> '#{r}'

  • オブジェクト
    .length
    .empty?
    if bool ~~ elsif ~~ end
    !(bool && bool || bool)
    .to_s
    後続if 例:puts "if" if true

  • メソッドの定義
    def method_name(ste = '')
    ~~~~
    end
    メソッドのreturnがない場合「最後の評価の式が返る」

4.3 他のデータ構造

  • 配列と範囲演算子
    • 配列
      String.split(' ') ' 'で分割して配列に
      Array[0] Array[1] ・・・Array[-2] Array[-1]
      Array.first Array.second ・・・ Array.last
      Array.length
      Array.include?(42)
      Array.sort <- Arrayのソート結果
      Array.sort! <- Array自体が変わる
      Array.push('a')
      Array << 'a'
      Array << 'a' << 'b'
      Array.join ,Array.join(',')

    • 範囲
      0..9
      ('a'..'z').to_a <-配列に
      (0..9).to_a[5..-2]
      %w[a s d f] <-スペース区切りで配列に

    • ブロック
      Renge.each{|i| ~~ }
       Array.each do |num|
        num
       end
      number.times{ }
      %w[A B C].map(&:downcase)

    • ハッシュとシンボル
      {"name"=>"tanaka" ,"MSN" => "08044444444"}
      {:name=>"tanaka" ,:MSN => "08044444444"}
      {name:"tanaka" ,MSN:"08044444444"} <-上と同じ

    • inspectメソッド

4.4 Rubyにおけるクラス

  • コンストラク
    "" <-これもコンストトラク
    String.new("") <-上に同じ

  • 継承
     class Word < String
      def palindrome?
       self == reverse  #<-self == self.reverse
      end
     end

  • クラス
     class User
      attr_accessor :name, :email  <-ゲッターセッターができる   def initialize(attributes = {})
       @name = attributes[:name]
       @email = attributes[:email]
      end
      def formatted_email
       "#{@name} <#{@email}>"
      end
     end

4.5 最後に

書いてある通りに。