08.Rubyで気になる記法
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 [, ...]
- field 検証対象のフィールド名(複数指定可)
- name 検証名
- params 検証パラメーター( {パラメーター名: 値}のハッシュ、または true)
例
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'
見出し