Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | 代入

概要

Rubyの代入について

詳細

変数の代入
variable = 任意の値

属性の代入

instance.attribute = 任意の値

多重代入

Ruby複数の変数に一気に値を代入することが可能です。

a,b = 1,2

代入の入れ子

多重代入を行う際に、括弧を付けることができます。
入れ子の際の動作についてはサンプルコードと出力を参考にしてください。

サンプルコード

# encoding: Windows-31J
require "pp"

a = 1 # 基本的な代入
a = b = 1 # 代入はつなげることが可能
p "a=#{a}"
p "b=#{b}"

class Hoge
  def name=(name)
    @name = name
  end
  def name
    @name
  end
end

hoge = Hoge.new
hoge.name="hoge" # 属性の代入
puts hoge.name

hige,hage = "", "禿" # 多重代入
print "hige=#{hige},hage=#{hage}\n"

hige,hage = *["ひげ", "はげ"] # 多重代入(配列バージョン)
print "hige=#{hige},hage=#{hage}\n"

hige,hage = *("a".."b") # 多重代入(Rangeバージョン)
print "hige=#{hige},hage=#{hage}\n"

hage,(hige,huge),hege,hoge = 1,2,3,4,5 # 代入の入れ子1
print [hage,hige,huge,hege,hoge].join(",") + "\n"
hage,(hige,huge),hege,hoge = 1,[2,3],4,5 # 代入の入れ子2
print [hage,hige,huge,hege,hoge].join(",") + "\n"

出力

"a=1"
"b=1"
hoge
hige=髭,hage=禿
hige=ひげ,hage=はげ
hige=a,hage=b
1,2,,3,4
1,2,3,4,5