どうも!chuckです。昨日に引き続き、Railsチュートリアルを。
4章 Rails風味のRuby
たくさんあるRubyのルールの中でも、Railsに関係あるものを学ぼうという趣旨。
rubyの組み込み関数であるstylesheet_link_tagについて見ていく。
ここでは4つのRuby文法が出現している。(Ruby組み込み関数、括弧なし関数呼び出し、シンボル、ハッシュ)
ヘルパー(=カスタムヘルパー)
自分で作った関数のこと。
HTMLのtitleの文字列を設定するヘルパー。これを定義することでHTMLがより動的になる。
Railsコンソール
インタラクティブRuby(irb)上にあるため、Rubyコマンドを実行できる。データベースにもアクセスできる。
$rails consoleで起動(省略形は$rails c)
コメント
Railsではコメントは#(シャープマーク)で表される。
文字列
"a" + "b" → ”ab” #連結できる
number = "1st"
"#{number} apple" → "1st apple" #式展開も可能
出力
Rubyでの最もメジャーな出力方法はputs
puts "foo" → ”foo”
putsはnilを返すという副作用を持つ
printは末尾に改行を挿入してくれない。
シングルクォーテーションでの文字列
式展開をしてくれない。
unless
if(!a)はunless(a)と同等。なにこれ不思議。
0はtrue
nilとfalse以外は全てtrueとなる。0がtrueとは…不思議。
暗黙の戻り値
中二病心をくすぐられる…。最後に評価された式の値が自動的に返される。
つまり上記では、3行目のreturnは不要。
module
関連したメソッドをまとめて部品化できる。用いる側はincludeをすることでミックスインできる。
ただし、Railsの場合自動でやってくれるので全てのビューで使える。便利!
破壊的メソッド
これまた中二心をくすぐられる…。
.lengthや.sortはただの参照。一方で.sort!とすることでソートした内容に書き換えることができる。値を変更してしまうのが破壊的メソッドらしい。
範囲
0..9 といった感じ。
これ便利だなあ。
ハッシュ
データをindex以外で管理できる。もちろん、ハッシュをネストにすることも可能。
要はCで言うところの構造体、JavaScriptで言うところのオブジェクトって感じらしい。
メソッド分解
いま改めてコードを読み解く。
1、メソッド呼び出しで丸括弧は不要
stylesheet_link_tagというメソッドを呼んでいるが、丸括弧は不要。
2、ハッシュの波括弧も不要
ただし、最後の引数に指定された時のみ。
3、改行は無視される
読みやすさのために追加しよう。
まあ4章はそんな感じ。では!