# ri > Concurrent::SettableStruct

## [Concurrent::SettableStruct](https://www.chedong.com/phpMan.php/perldoc/Concurrent%3A%3ASettableStruct/markdown)

------------------------------------------------------------------------
## Includes:
[Synchronization::AbstractStruct](https://www.chedong.com/phpMan.php/perldoc/Synchronization%3A%3AAbstractStruct/markdown) (from /home/chedong/.local/share/rdoc)

(from /home/chedong/.local/share/rdoc)
------------------------------------------------------------------------
An thread-safe, write-once variation of Ruby's standard Struct. Each
member can have its value set at most once, either at construction or
any time thereafter. Attempting to assign a value to a member that has
already been set will result in a [Concurrent::ImmutabilityError](https://www.chedong.com/phpMan.php/perldoc/Concurrent%3A%3AImmutabilityError/markdown).

@see <http://ruby-doc.org/core-2.2.0/Struct.html> Ruby standard library
Struct @see <http://en.wikipedia.org/wiki/Final_>(Java) Java final keyword
------------------------------------------------------------------------
## Class methods:

  new

## Instance methods:

  ==
  []
  []=
  each
  each_pair
  inspect
  merge
  select
  to_a
  to_h
  to_s
  values
  values_at

