require "ostruct"size = OpenStruct.newsize.width = 10size.height = 10point = OpenStruct.newpoint.top = 5point.left = 5rect = OpenStruct.new(:size => size, :point => point)print("left is #{rect.point.left}")