Railsチュートリアルも終え、Railsを用いたポートフォリオアプリ制作も終ました。
その段階で、改めてRailsのチェリー本と呼ばれる、以下の書籍を読み、改めて勉強になったので、以下にいくつか抜粋します。
1. &&や||の評価を終了するタイミング
Rubyは式全体が真または偽であることが決定するまで左辺から順に式を評価します。式全体の真または偽が確定すると、式の評価を終了し、最後に評価した式の値を返します。
その性質を活用すると、以下のようなコードを実行できる。
# Alice、Bob、Carolと順に検索し、最初に見つかったユーザ(nilまたはfalse以外の値)
# を変数に格納する
user=find_user('Alice')||find_user('Bob')||find_user('Carol')
2. ヒアドキュメント
複数行に渡る長い文字列を作成する場合にスッキリ書く方法。
以下のような方法で利用可能
<<識別子
1行目
2行目
3行目
:
識別子
a = "これはヒアドキュメントです。
複数行に渡る長い文字列を
作成するのに便利です。"
a = <<TEXT
これはヒアドキュメントです。
複数行に渡る長い文字列を
作成するのに便利です。
TEXT
3. requere
Rubyでは、ruby をインストールした際に、多くのライブラリが標準として用意されている。
ライブラリの種類には、組み込みライブラリと標準ライブラリ、外部ライブラリがある。
組み込みライブラリと標準ライブラリは、rubyインストール時に同時にインストールされている。そのおかげで、StringやIntengerなどの組み込みライブラリは、常時使用可能な状態になっている。
一方で、dateやjsonなどの標準ライブラリは、インストールされてはいるものの、明示的に読み込むことで使用可能になる。読み込むために用いるのがrequire
である。
require'date'
Date.today #=>#<Date:20170407((2457851j,0s,0n),+0s,2299161j)>
それとは異なる外部ライブラリとは、bundlerやrailsといった有志で開発されたものを指し、rubyの場合はgemと言う。
4. エイリアスメソッド
まったく同じ実装で名前だけ異なるメソッドのことをエイリアスメソッドと呼びます。
.ex) length
とsize
:どちらも文字数を返す
'hello'.length #=>5
'hello'.size #=>5