Class: Charty::Index
- Inherits:
-
Object
show all
- Extended by:
- Forwardable
- Includes:
- Enumerable
- Defined in:
- lib/charty/index.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(values, name: nil) ⇒ Index
Returns a new instance of Index.
8
9
10
11
|
# File 'lib/charty/index.rb', line 8
def initialize(values, name: nil)
@values = values
@name = name
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
14
15
16
|
# File 'lib/charty/index.rb', line 14
def name
@name
end
|
#values ⇒ Object
Returns the value of attribute values.
13
14
15
|
# File 'lib/charty/index.rb', line 13
def values
@values
end
|
Instance Method Details
#==(other) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/charty/index.rb', line 18
def ==(other)
case other
when DaruIndex, PandasIndex
return false if length != other.length
to_a == other.to_a
when Index
return false if length != other.length
return true if values == other.values
to_a == other.to_a
else
super
end
end
|
#[](i) ⇒ Object
32
33
34
35
36
37
38
39
|
# File 'lib/charty/index.rb', line 32
def [](i)
case i
when 0 ... length
values[i]
else
raise IndexError, "index out of range"
end
end
|
#loc(key) ⇒ Object
41
42
43
|
# File 'lib/charty/index.rb', line 41
def loc(key)
values.index(key)
end
|
#union(other) ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/charty/index.rb', line 45
def union(other)
case other
when PandasIndex
index = PandasIndex.try_convert(self)
return index.union(other) if index
end
Index.new(to_a.union(other.to_a), name: name)
end
|