01
基礎
変数と型
Ruby は動的型付けです—変数に型宣言は不要です。型を検査するには .class を、型チェックには is_a? を使用してください。数値やブール値を含めすべてがオブジェクトです。
ruby
name = "Alice" # string
age = 30 # integer
pi = 3.14 # float
is_dev = true # boolean
nums = [1, 2, 3] # array
puts name.class # String
puts age.is_a?(Integer) # trueシンボル
シンボル(:name)は不変でインターン化された文字列です—メモリに1つのコピーしか存在しません。アイデンティティがコンテンツより重要なハッシュキー、メソッド名、識別子に使用してください。繰り返し使用には文字列よりメモリ効率が良いです。
ruby
status = :active
puts status.class # Symbol
puts status.to_s # "active"
# Symbols are immutable, reusable strings
hash = { name: "Alice", status: :active }
puts hash[:status] # activeNil と真偽性
Ruby では nil と false のみが偽です—それ以外(0、''、[] を含む)はすべて真です。これは 0 が偽となる多くの言語とは異なります。デフォルトには || を、nil の具体的なチェックには nil? を使用してください。
ruby
x = nil
puts x.nil? # true
puts x || "default" # default
# Only nil and false are falsy; 0 and "" are truthy!
puts 0 ? "truthy" : "falsy" # truthy
puts "" ? "truthy" : "falsy" # truthy
puts nil ? "truthy" : "falsy" # falsy型変換
to_i/to_s/to_f は寛容な変換です(失敗時に0を返します)。Integer()/Float() は厳密です(ArgumentError を発生)。検証が必要な場合は厳密な変換を、graceful な降格が必要な場合は寛 容な変換を使用してください。
ruby
puts "42".to_i # 42
puts 42.to_s # "42"
puts "3.14".to_f # 3.14
puts 3.14.to_i # 3
puts "abc".to_i # 0 (no error)
puts Integer("42") # 42 (raises if invalid)