Class: TTY::Vector
- Inherits:
-
Object
- Object
- TTY::Vector
- Includes:
- Enumerable, Equatable
- Defined in:
- lib/tty/vector.rb
Overview
This class represents a mathematical vector.
Direct Known Subclasses
Class Method Summary collapse
-
.[](*array) ⇒ Vector
Utility method to instantiate a Vector.
Instance Method Summary collapse
-
#[](indx) ⇒ Object
(also: #at, #element)
Return element at index.
-
#[]=(indx, value) ⇒ Object
(also: #set_element)
Set a value of the element for the given index.
-
#each ⇒ self
Iterate over each element in the vector.
-
#empty? ⇒ Boolean
Check if there are not elements.
-
#initialize(array = []) ⇒ undefined
constructor
Instantiate a Vector.
-
#size ⇒ Integer
(also: #length)
Check number of elements.
-
#to_a ⇒ Array
Return the vector elements in an array.
-
#to_ary ⇒ Object
Convert to array.
Constructor Details
#initialize(array = []) ⇒ undefined
Instantiate a Vector
29 30 31 32 |
# File 'lib/tty/vector.rb', line 29 def initialize(array = []) @converter = Necromancer.new @elements = @converter.convert(array).to(:array, strict: true) end |
Class Method Details
.[](*array) ⇒ Vector
Utility method to instantiate a Vector
18 19 20 |
# File 'lib/tty/vector.rb', line 18 def self.[](*array) new(array) end |
Instance Method Details
#[](indx) ⇒ Object Also known as: at, element
Return element at index.
43 44 45 |
# File 'lib/tty/vector.rb', line 43 def [](indx) elements[indx] end |
#[]=(indx, value) ⇒ Object Also known as: set_element
Set a value of the element for the given index.
60 61 62 |
# File 'lib/tty/vector.rb', line 60 def []=(indx, value) elements[indx] = value end |
#each ⇒ self
Iterate over each element in the vector
74 75 76 77 78 |
# File 'lib/tty/vector.rb', line 74 def each return to_enum unless block_given? to_ary.each { |element| yield element } self end |
#empty? ⇒ Boolean
Check if there are not elements.
94 95 96 |
# File 'lib/tty/vector.rb', line 94 def empty? to_ary.empty? end |
#size ⇒ Integer Also known as: length
Check number of elements.
103 104 105 |
# File 'lib/tty/vector.rb', line 103 def size to_ary.size end |
#to_a ⇒ Array
Return the vector elements in an array.
113 114 115 |
# File 'lib/tty/vector.rb', line 113 def to_a to_ary.dup end |
#to_ary ⇒ Object
Convert to array
@return [Array]
85 86 87 |
# File 'lib/tty/vector.rb', line 85 def to_ary @elements end |