目次

08.Rubyで気になる記法

Ruby on Rails トップページ

Rubyの公式リファレンス

https://docs.ruby-lang.org/ja/latest/doc/index.html
オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル

https://zenn.dev/jnchito/books/how-to-read-ruby-reference
Rubyの公式リファレンスが読めるようになる本
Junichi Ito

ハッシュとシンボル( :name はシンボル)

ハッシュ(Perlなどでは連想配列と呼ぶ)とは、キーと値という2つのデータがペアになった集合体

ハッシュのキーを :name のようにシンボルで表すことがある。

シンボルがキーになる場合、⇒を使わずに“シンボル: 値”という記法でハッシュを作成できる。コロンの位置が左から右に変わる点に注意。

次の3つのハッシュは、すべて、ほぼ、同じ

user = { "name" => "Michael Hartl", "email" => "michael@example.com" }
user = { :name => "Michael Hartl", :email => "michael@example.com" }
user = { name: "Michael Hartl", email: "michael@example.com" }

2つ目と3つ目のハッシュから値を取り出すときは、以下のように記載する(キーはシンボルであって、文字列ではない)

user[:name]
#=> ”Michael Hartl”

https://railstutorial.jp/chapters/rails_flavored_ruby?version=5.1#sec-hashes_and_symbols

https://www.sejuku.net/blog/11357
【Ruby入門】Hash(ハッシュ)の基礎文法【コロン=シンボル】
長瀬来
2021/10/1

attr_reader

https://pikawaka.com/ruby/attr_reader
2020年08月17日
【Ruby】 attr_readerメソッドの使い方を基礎から学んで整理しよう

validates

validatesメソッド

validates field[, ...], 
  name: params [, ...]

class Member < ApplicationRecord
  # nameの文字数は、1文字から10文字まで
  validates :name,
    length: { minimum: 1, maximum: 10 }
 
  # emailは必須
  validates :email,
    presence: true
end

例2

class User < ApplicationRecord
  validates :name,  
    presence: true, 
    length: { maximum: 50 }
  VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
  validates :email, 
    presence: true, 
    length: { maximum: 255 },
    format: { with: VALID_EMAIL_REGEX },
    uniqueness: true
end

https://qiita.com/h1kita/items/772b81a1cc066e67930e
@h1kita(株式会社SmartHR)
更新日 2017年11月15日
Organization
Railsバリデーションまとめ

https://www.sejuku.net/blog/25973
【Rails入門】バリデーション(validations)の使い方まとめ
2021/8/1

https://udemy.benesse.co.jp/development/system/validates.html

正規表現

https://qiita.com/jnchito/items/893c887fbf19e17d3ff9
@jnchito(株式会社ソニックガーデン)
更新日 2019年01月10日
Organization
初心者歓迎!手と目で覚える正規表現入門・その1「さまざまな形式の電話番号を検索しよう」

見出し

組み込みライブラリでない標準ライブラリやgemを利用する場合はrequire

require 'date'
Date.today

自分で作成したRubyプログラム(独自のクラス定義など)を読み込む場合はrequire_relativeを使用

require_relative 'date'

見出し

Ruby on Rails トップページ