class
Struct
v1_8_7_330 -
Show latest stable
- Superclass: Object
A Struct is a convenient way to bundle a number of attributes together, using accessor methods, without having to write an explicit class.
The Struct class is a generator of specific classes, each one of which is defined to hold a set of variables and their accessors. In these examples, we’ll call the generated class “CustomerClass,” and we’ll show an example instance of that class as “CustomerInst.”
In the descriptions that follow, the parameter symbol refers to a symbol, which is either a quoted string or a Symbol (such as :name).
Included modules
- Enumerable
Files
- lib/pp.rb
- lib/yaml/rubytypes.rb
- struct.c
3Notes
Example
User = Struct.new(:name, :phone)
marc = User.new("Marc", "555-5555")
More Examples
=== Code
class User < Struct.new(:name, :age, :gender)
end
user = User.new("Matz", 43, "male")
Passing a block with methods
==== Code example
Google = Struct.new(:address) do
def latitude
-1
end
def longitude
-2
end
def with_address
"with #{address}"
end
end
g = Google.new("Some Addres")
puts g.address
puts g.latitude
puts g.longitude
puts g.with_address
==== Result
# >> Some Addres
# >> -1
# >> -2
# >> with Some Addres