勉強履歴(と雑記)

プログラミング初心者のメモ書きです

Railsチュートリアル 第4章 メモ書き

Rubyについて

 

カスタムヘルパー:

ビューで使える新たな組み込み関数(メソッド)のこと。

app/helpers/application_helper.rbにヘルパーとして定義。

 

Railsコンソール:

Railsアプリケーションを対話的に操作するためのコマンドラインツール。

irb(IRB:Interactive Euby)を拡張して作られ、Rubyの機能を全て使える。

開発・テスト・本番の3つの環境が定義されている。

 

nil:何もないことを表す特別な値

 

文字列の出力:

puts:出力の末尾に自動的に改行文字(\n)が追加。

print:出力に末尾に改行文字が入らない。

 

文字列:

ダブルクォート→式展開あり(#{})

シングルクォート→式展開なし(#を文字列として使える)

ダブルクォートで式展開しない時は\でエスケープ

 

boolean:

Trueもしくはfalseの論理値のこと

 

メソッドの定義:

def ~() endで〜がメソッド名、()内が引数、中に具体的な命令のコード。

最後に評価された式の値が自動的に返されるが、returnで明示することが可能。

 

push(<<):配列に要素を追加

 

%w:配列の前に置くことで文字列の配列に変換

 

ブロック:(1..5).each { |i| puts 2 * i }

範囲オブジェクトの(1..5)に対してeachメソッドを呼び出し、

{}(ブロック)の中にある|i|内のローカル変数iに代入、その後のputs 2*iを実行する。

長い時はdo endで囲むこともある。

ブロック内で宣言した引数に対してメソッドを呼び出す場合、次の省略記法が一般的。

%w[A B C].map { |char| char.downcase }

→ %w[A B C].map(&:downcase)

 

組み込みの基本クラス:

Rubyでは開発者以外でもクラスのメソッドを変更可能

(正当な理由がなければ混乱を防ぐ意味でしない方がいい)。

配列や範囲、ハッシュなどは組み込みクラス。

 

ハッシュ:

変数に複数の値を代入できる点は配列と同じ。違いはインデックスとして

文字列(キー)を用いることができる点。

値の前にコロンを置いたシンボルがキーとしてよく用いられる。

「”first_name" =>」と「:name => 」と「name:」は同じ。

 

attr_accessor:

アクセサーを作成し、そのデータを取り出すメソッド(ゲッター)と

データに代入するメソッド(セッター)をそれぞれ定義する。

例)attr_accessor :name,:email 

 と書くと、インスタンス変数@nameと@emailにアクセスするための

 メソッドが用意される。

 

Initializeメソッド:

User.newを実行すると自動的に呼び出されるメソッド。

  def initialize(attributes = {})

    @name  = attributes[:name]

    @email = attributes[:email]

  end