module Concurrent::MutableStruct
def []=(member, value)
-
(IndexError)
- if the index is out of range. -
(NameError)
- if the name does not exist
Returns:
-
(Object)
- the value of the given struct member or the member at the given index.
Parameters:
-
member
(Symbol, String, Integer
) -- the string or symbol name of the member
def []=(member, value) if member.is_a? Integer length = synchronize { @values.length } if member >= length raise IndexError.new("offset #{member} too large for struct(size:#{length})") end synchronize { @values[member] = value } else send("#{member}=", value) end rescue NoMethodError raise NameError.new("no member '#{member}' in struct") end