@2018/10/21
開始します
基本的に、2周目のときにブラッシュアップできたらなぁっておもっています。
開発環境
下記vagrantにて構築して利用しています。
OS:CentOS release 6.10 (Final)
ruby :ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
rails :Rails 5.1.6
ゴールイメージ
4.5.1 本章のまとめ
Rubyは文字列を扱うためのメソッドを多数持っている
Rubyの世界では、すべてがオブジェクトである
Rubyではdefというキーワードを使ってメソッドを定義する
Rubyではclassというキーワードを使ってクラスを定義する
Railsのビューでは、静的HTMLの他にERB (埋め込みRuby: Embedded RuBy) も使える
Rubyの組み込みクラスには配列、範囲、ハッシュなどがある
Rubyのブロックは (他の似た機能と比べ) 柔軟な機能で、添え字を使ったデータ構造よりも自然にイテレーションができる
シンボルとはラベルである。追加的な構造を持たない (代入などができない) 文字列みたいなもの
Rubyではクラスを継承できる
Rubyでは組み込みクラスですら内部を見たり修正したりできる
「deified」という単語は回文である
開始
ここはrubyについての扱う章のようです。
サクッとおわらせたいところ。
4.1.2 カスタムヘルパー
・あたらしくつくったメソッドのことです。
ヘルパーとは?
app/views/layouts/application.html.erb
と
app/helpers/application_helper.rb(ヘルパー)
で、ヘルパーを編集することで、よりHTMLをシンプルにできるってことかな?
ヘルパーは動的なHTMLを作成するのに、必要なメソッド・・・・?
viewで個別の設定をもたせて、共通部品や動的な要素の処理をヘルパーに持たせるイメージ。
そもそもrubyのmoduleとはなにか?
4.3.2 ブロック〜
@2018/10/23
ブロックについての理解・・・・これは難しい!!
>>(1..5).each { |i| puts 2 * i }
2
4
6
8
10
=> 1..5
>>(1..5).each do |i|
>> puts 2 * i
>> end
2
4
6
8
10
=> 1..5
>> 3.times { puts "Betelgeuse!" } # 3.timesではブロックに変数を使っていない
"Betelgeuse!"
"Betelgeuse!"
"Betelgeuse!"
=> 3
↑これは.「timesメソッド」
timesメソッドについて
オブジェクト.times{|変数|
//繰り返したい処理
//変数に0から対象のオブジェクトが持つ数値から1引いた数を順番に代入しながら、繰り返し処理を行います。
}
or
オブジェクト.time do |変数|
//繰り返したい処理
end
これ、変数に0から順番に代入とあるが、ブロック内に変数やdoのあとに変数がない場合はどうなっているんだろうか?
下記の様な場合・・・
オブジェクト.times{
//繰り返したい処理
}
or
オブジェクト.time do
//繰り返したい処理
end
A.XXXXXXXXXあとで調べよう
それ以外の疑問点は、
・ そもそもdo end について
→これはブロック?{}と同じ意味か?
・ ブロック{}とはなにか
・ ....
(まずは前にすすめること重視でいきます。というか、たくさんコード見ればだいぶ動きがつかめる気がします。)
4.3.3 ハッシュとシンボル
inspectとは・・・・・
Hash.mergemとは
hash.merge(other_hash)
mergeメソッドは、2つのハッシュを統合します。レシーバhashと引数other_hashのキーと値を集め、新しいハッシュに入れて返します。重複するキーがあるときは、other_hashの値が使われます。
{ "a" => 100, "b" => 200 }.merge({ "b" => 300 })
→ハッシュ と ハッシュをマージします。
キーはがかぶっていたら、マージの引数が優先です。
なので左の”b”のキーの値が右のbのキーの値にうわがかれます。
4.3.4 CSS、再び
4.4 Rubyにおけるクラス
@2018/10/24
・ハッシュとシンボルがいまいちパッと頭が理解してくれない
・attr_accesser :name, :email
→なぜアクセッサのところでシンボルがでてくるのか?
@name,@email のインスタンス変数のほうではないのか?
次の週でもうすこし詳しく調査します。
以上.