0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rails チュートリアル 第4章 備忘録

Posted at

第4章の備忘録

##環境
Rails 6.0.3
Ruby 2.6.3

##目次
1 配列・メソッド
2 ブロック
3 ハッシュ
4 シンボル
5 CSSの読み込みを解読

###1 配列・メソッド
####1.1 splitメソッド
文字列を配列に変換することが可能

# デフォルトは空白で区切る
>> "foo bar  baz".split 
=> ["foo", "bar", "baz"]

# 区切る文字を指定することが出来る
>> "fooxbarxbaz".split('x')
=> ["foo", "bar", "baz"]

####1.2 インデックスに−1を使ってみる
配列のインデックスに-1を指定すると、配列の最後の要素を取得することが出来る。

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.last
=> 17
>> a[a.length - 1]
=> 17
>> a[-1]
=> 17

####1.3 empty?メソッド
空かどうか調べることが出来る

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.empty?
=> false

####1.4 include?メソッド
指定した値が含まれているか調べることが出来る

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.include?(42)
=> true

####1.5 sortメソッド
配列を昇順(小さい順)に並べ替える

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.sort
=> [8, 17, 42]

####1.6 reverseメソッド
逆順に変更する

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.reverse
=> [17, 8, 42]

####1.7 shuffleメソッド
ランダムな並びに変更

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.shuffle
=> [8, 42, 17]

####1.8 各メソッドに!を付ける
メソッドを使用した値自体も変更させる

>> a = [42, 8, 17]
=> [42, 8, 17]

>> a.sort
=> [8, 17, 42]
>> a
=> [42, 8, 17] # a自体は変更されていない

>> a.sort!
=> [8, 17, 42]
>> a
=> [8, 17, 42] # a自体も変更される

####1.9 push( < )メソッド
配列の最後に要素を追加する

>> a.push(6)
=> [42, 8, 17, 6]

>> a << 7
=> [8, 42, 17, 6, 7]

####1.10 joinメソッド
splitメソッドの逆。配列を文字列に変換

>> a = [42, 8, 17, 6, 7, "foo", "bar"]
=> [42, 8, 17, 6, 7, "foo", "bar"]

>> a.join
=> "4281767foobar" # 連結

>> a.join(',')  
=> "42,8,17,6,7,foo,bar" # 間にカンマを挟んで連結

####1.11 to_aメソッド
配列に変換する
0..9 : 9を含む

>> (0..9).to_a 
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

###2 ブロック

>> (1..5).each do |i|
?> puts 2*i
>> end
2
4
6
8
10
=> 10

上のコードのように do~endで囲むとブロックになる
ブロック内が複数行になる場合はこちらの方が主流らしい。

###3 ハッシュ
ハッシュは配列と違って、
・ インデックスに整数値以外が使える(そのハッシュのインデックスをキーと呼び、それに対応するものが値)
・ ハッシュ内の要素の並び順が保証されない

###4 シンボル
Railsでは文字列よりシンボルが使われる。
文字列との違いはクォートで囲まず、コロンが前におかれる。
ハッシュではシンボルをキーとして使うことが一般的。
また、=>はハッシュロケットと呼ばれ、下のコードのように書き換えが可能。

{ :name => "Test Name" }
{ name: "Test Name" }

###5 CSSの読み込みを解読

<%= stylesheet_link_tag 'application', media: 'all',
              'data-turbolinks-track': 'reload' %>

このコードを理解するためには、
・ Rubyでは丸カッコを使用しなくても構わない
・ ハッシュがメソッド呼び出しの最後の引数の場合、波カッコ省略可能
を把握することが必要。よって、

<%= stylesheet_link_tag (
    'application', 
    { media: 'all', 'data-turbolinks-track': 'reload' }
) %>

となり、引数は2つであることが判明する。

最初の要素はメディアタイプを指定、
次の要素はturbolinks機能をオンに設定している。

turbolinks : ページ遷移を高速化するライブラリ。Rails4から追加

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?