Class: Vector
- Includes:
- Enumerable
- Defined in:
- lib/quality_extensions/matrix/indexable.rb,
lib/quality_extensions/vector/enumerable.rb,
lib/quality_extensions/matrix/linked_vectors.rb
Class Method Summary collapse
-
.elements(array, copy = true, matrix_details = nil) ⇒ Object
Creates a vector from an Array.
Instance Method Summary collapse
-
#[]=(i, new) ⇒ Object
Updates element number
i
(starting at zero) of the vector. - #each(&block) ⇒ Object
-
#initialize(method, array, copy, matrix_details = nil) ⇒ Vector
constructor
For internal use.
- #sum ⇒ Object
Methods included from Enumerable
#all_same?, #every, #gradiate, #grep_with_index, #grep_with_regexp_support_for_symbols, #group_by_and_map, #map_with_index, #map_with_index!, #max_by_value, #reject_with_index, #reject_with_index!, #select!, #select_until, #select_until_last, #select_until_last_with_index, #select_until_with_index, #select_while, #select_while_with_index, #select_with_index, #select_with_index!
Constructor Details
#initialize(method, array, copy, matrix_details = nil) ⇒ Vector
For internal use.
73 74 75 76 |
# File 'lib/quality_extensions/matrix/linked_vectors.rb', line 73 def initialize(method, array, copy, matrix_details = nil) self.send(method, array, copy) @matrix_details = matrix_details end |
Class Method Details
.elements(array, copy = true, matrix_details = nil) ⇒ Object
Creates a vector from an Array. The optional second argument specifies whether the array itself or a copy is used internally.
66 67 68 |
# File 'lib/quality_extensions/matrix/linked_vectors.rb', line 66 def Vector.elements(array, copy = true, matrix_details = nil) new(:init_elements, array, copy, matrix_details) end |
Instance Method Details
#[]=(i, new) ⇒ Object
Updates element number i
(starting at zero) of the vector.
If this vector is linked with (a row or column of) a matrix, it changes the corresponding element of that matrix too.
25 26 27 |
# File 'lib/quality_extensions/matrix/indexable.rb', line 25 def []=(i, new) @elements[i] = new end |
#each(&block) ⇒ Object
15 16 17 |
# File 'lib/quality_extensions/vector/enumerable.rb', line 15 def each &block to_a.each &block end |
#sum ⇒ Object
19 20 21 |
# File 'lib/quality_extensions/vector/enumerable.rb', line 19 def sum inject(&:+) end |