1
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 5 years have passed since last update.

Rails-tutorial初心者(4章)(自分メモ)

Posted at

@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

ブロックについての理解・・・・これは難しい!!

each{}のパターン
>>(1..5).each { |i| puts 2 * i } 
2
4
6
8
10
=> 1..5
do~endのパターン
>>(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 のインスタンス変数のほうではないのか?

次の週でもうすこし詳しく調査します。

以上.

1
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
1
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?