読者です 読者をやめる 読者になる 読者になる

Ruby (on Rails)入門 ~現在、勉強中(2015年6月開始)~

Ruby、Ruby on Railsを勉強中。参考書を読んだり、ネット情報を読むだけでは忘れてしまうのでメモする。

【Ruby (on Rails)プログラミング入門メモ#?】文字列の検索

ある文字列の中に特定の文字列が含まれているかを 検索する場合、下記3つのメソッドを使う。

・indexメソッド 検索対象の文字列を左から検索

・rndexメソッド 検索対象の文字列を右から検索

・include?メソッド 検索文字列が含まれているか、含まれていないかを調べる

str = "オレンジジュース。グレープフルーツジュース"
p str.index("ジュース")     # 5
p str.rindex("ジュース")    # 17 文字列右から調べているので、indexとは結果が異なる
p str.include?("ジュース") # true

勉強で使用中書籍

・他のプログラミング言語を使える人向け。[現在使用中] プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

【Ruby (on Rails)プログラミング入門メモ#?】railsでWebサイトのrootのURLを設定する

この記事を読んでわかること

  • railsでWebサイトのrootのURLを設定する方法

手順

1. config/routes.rbを開く

2. rootの設定を追加する

root to: 'コントローラ名#アクション名', as: 'コントローラ名'

コントローラ:persons アクション:index

root to: 'persons#index', as: 'persons'

3. public/index.htmlを削除

public/index.htmlがある場合、上記で設定したrootの設定は有効になりません。 public/index.htmlが存在する場合、削除が必要です。

4. webサーバーを起動し確認する

【Ruby (on Rails)プログラミング入門メモ#?】ブロックの結果を取得する

ブロックの結果を取得する

現在日時を取得します。 ブロックがある場合には現在日時をフォーマットします。

# 現在日時を返す
# ブロックがある場合、ブロックでフォーマットした結果を返す
def today
today = Time.now
today_text = ""
if block_given?
today_text = yield(today)

else
today_text = today.to_s

end
return today_text
end

# ブロック無しで実行
puts today

# ブロック付きで実行
puts today{
|date|
date.strftime("%Y年%m月%d日 %H時%M分")
}

f:id:fjswkun:20160102173741p:plain

勉強で使用中書籍

・他のプログラミング言語を使える人向け。[現在使用中] プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

【Ruby (on Rails)プログラミング入門メモ#?】ブロック付きメソッドの作成

ブロック付きメソッドを作成する

メソッドの中で「yield」を実行すればよい。

ブロックに変数を渡したい場合、
yield(a, b, c)
のようにyieldの後ろに渡してあげればいい。

例:現在日付を返すブロック付きメソッド
下記todayメソッドを実行すると、
ブロックに現在日付を渡します。

# 現在日付を返す
def today[f:id:fjswkun:20160102171719p:plain]
    yield(Time.now)
end

# ブロック付きメソッドを実行
today do |date|
    puts date
end

# 受け取った現在日付をブロック内でフォーマットする
today do |date|
     puts date.strftime("%Y年%m月%d日 %H時%M分")
end

勉強で使用中書籍

・他のプログラミング言語を使える人向け。[現在使用中] プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

【Ruby (on Rails)プログラミング入門メモ#?】オブジェクトにメソッドを定義する

この記事を読んでわかること

オブジェクトにメソッドを定義する

特異クラスを使って、オブジェクトにメソッドを定義します。

# Personというクラスが定義されている
class Person
    def hello
        puts "hello"
    end
end

# インスタンス化
sato = Person.new
yamada = Person.new

# satoオブジェクトにsayNameメソッドを追加
class << sato
    def sayName
        puts "My name is Sato."
    end
end

# sayNameメソッドが実行される
sato.sayName

# sayNameメソッドが実行エラー
yamada.sayName

結果

f:id:fjswkun:20151227142041p:plain

勉強で使用中書籍

・他のプログラミング言語を使える人向け。[現在使用中] プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

【Ruby (on Rails)プログラミング入門メモ#?】クラスメソッドの定義

この記事を読んでわかること

特異クラスで定義する

# Personというクラスが定義されている
class Person
    def hello
        puts "hello"
    end
end

# クラスメソッドの定義
class << Person
    def bye
        puts "bye"
    end
end

# 実行
Person.bye

クラス定義内でクラスメソッドを定義

# Personというクラスが定義されている
class Person
    # クラス定義内でクラスメソッドを定義
    class << self
        def bye
            puts "bye"
        end
    end

    def hello
        puts "hello"
    end
end


# 実行
Person.bye

結果

f:id:fjswkun:20151227141341p:plain

勉強で使用中書籍

・他のプログラミング言語を使える人向け。[現在使用中] プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版

【Ruby (on Rails)プログラミング入門メモ#?】オブジェクトがあるクラスとis-a関係にあるかの判断

この記事を読んでわかること

  • オブジェクトがあるクラスとis-a関係にあるかの判断

names = ["Yamada", "Tanaka", "Sato"]

# is_a?メソッドを使う
if names.is_a?(String)
    print "Stringクラスとis-a関係にあります"
elsif names.is_a?(Object)
    print "Objectクラスとis-a関係にあります"
end[f:id:fjswkun:20151226193155p:plain]

f:id:fjswkun:20151226192219p:plain

勉強で使用中書籍

・他のプログラミング言語を使える人向け。[現在使用中] プログラミング初心者には向かない。

・たのしいRubyを読み終えたら勉強するつもり

初めてのRuby

初めてのRuby

Railsを勉強するなら、まずはこれがいいらしい

RailsによるアジャイルWebアプリケーション開発 第4版

RailsによるアジャイルWebアプリケーション開発 第4版