Standard Library Essentials
OpenStruct Basics
OpenStruct creates small objects whose attributes can be assigned by name.
OpenStruct Basics
ostruct_basics.rb
require "ostruct"
name =
profile = OpenStruct.new
profile.name = name
profile.language = "Ruby"
profile.lessons = 3
summary = "#{profile.name} studies #{profile.language}"
puts "name=#{profile.name}"
puts "lessons=#{profile.lessons}"
puts "summary=#{summary}"
require "ostruct"
name =
profile = OpenStruct.new
profile.name = name
profile.language = "Ruby"
profile.lessons = 3
summary = "#{profile.name} studies #{profile.language}"
puts "name=#{profile.name}"
puts "lessons=#{profile.lessons}"
puts "summary=#{summary}"
require "ostruct"
name =
profile = OpenStruct.new
profile.name = name
profile.language = "Ruby"
profile.lessons = 3
summary = "#{profile.name} studies #{profile.language}"
puts "name=#{profile.name}"
puts "lessons=#{profile.lessons}"
puts "summary=#{summary}"
open struct
`OpenStruct` is useful for small data records when a full class would be more ceremony than the example needs.