Method: Matrix.column_vector_assignment_code
- Defined in:
- lib/y_petri/simulation/matrix.rb
.column_vector_assignment_code(vector: (fail ArgumentError, "No vector!"), indices: (fail ArgumentError, "No indices!"), source: (fail ArgumentError, "No source!")) ⇒ Object
Builds a code string for assigning to a vector at given indices.
21 22 23 24 25 26 27 28 |
# File 'lib/y_petri/simulation/matrix.rb', line 21 def column_vector_assignment_code vector: (fail ArgumentError, "No vector!"), indices: (fail ArgumentError, "No indices!"), source: (fail ArgumentError, "No source!") code_lines = indices.map.with_index do |i, source_pos| "#{vector}.send( :[]=, #{i}, 0, #{source}.fetch( #{source_pos} ) )" if i end code_lines.compact.join( "\n" ) << "\n" end |