Class: Octave::StructMatrix
Overview
The StructMatrix class is used for storing hash values that are sent to or received from Octave struct matrices. Usage:
require 'octave'
struct_matrix = Octave::StructMatrix.new(17, 1, "name", "age", "married"
17.times do |m|
struct_matrix[m, 0]["name"] = "Bob #{m}"
struct_matrix[m, 0]["age"] = (rand * 100).to_i
struct_matrix[m, 0]["married"] = (rand > 0.5)
end
p struct_matrix[16, 0]
Instance Attribute Summary collapse
-
#names ⇒ Object
readonly
Returns the value of attribute names.
Attributes inherited from Matrix
Instance Method Summary collapse
-
#initialize(m, n, *names) ⇒ StructMatrix
constructor
Creates a new StructMatrix with the given dimensions for row and column size and the names of the attributes.
Methods inherited from Matrix
Constructor Details
#initialize(m, n, *names) ⇒ StructMatrix
Creates a new StructMatrix with the given dimensions for row and column size and the names of the attributes
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/octave/matrix.rb', line 77 def initialize(m, n, *names) super(m, n) @names = names # Populate the matrix with a hash using the names provided m.times do |row_index| n.times do |column_index| @cells[row_index][column_index] = names.inject({}) { |s,e| s.merge( { e.to_s => nil } ) } end end end |
Instance Attribute Details
#names ⇒ Object (readonly)
Returns the value of attribute names.
73 74 75 |
# File 'lib/octave/matrix.rb', line 73 def names @names end |