Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

instance method

Struct#[]=

struct[member] = obj → obj
struct[index] = obj → obj

Attribute Assignment—Sets the value of the given struct member or the member at the given index. Raises NameError if the member does not exist and IndexError if the index is out of range.

Example
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)

joe["name"] = "Luke"
joe[:zip]   = "90210"

joe.name   #=> "Luke"
joe.zip    #=> "90210"
See also #[] #as_json #== #deconstruct also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1