Class: Buffer::Array
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Enumerable
#to_set
Methods included from Native
call, convert, included, is_a?, #to_n, try_convert
Constructor Details
#initialize(buffer, bits = nil, type = nil) ⇒ Array
Returns a new instance of Array
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'opal/stdlib/buffer/array.rb', line 12
def initialize(buffer, bits = nil, type = nil)
if Native == buffer
super(buffer)
else
%x{
var klass = #{Array.for(bits, type)};
#{super(`new klass(#{buffer.to_n})`)}
}
end
@buffer = buffer
@type = type
end
|
Instance Attribute Details
Returns the value of attribute buffer
10
11
12
|
# File 'opal/stdlib/buffer/array.rb', line 10
def buffer
@buffer
end
|
Returns the value of attribute type
10
11
12
|
# File 'opal/stdlib/buffer/array.rb', line 10
def type
@type
end
|
Class Method Details
.for(bits, type) ⇒ Object
4
5
6
|
# File 'opal/stdlib/buffer/array.rb', line 4
def self.for(bits, type)
$$["#{Buffer.name_for bits, type}Array"]
end
|
Instance Method Details
#[](index, offset = nil) ⇒ Object
31
32
33
|
# File 'opal/stdlib/buffer/array.rb', line 31
def [](index, offset = nil)
offset ? `#@native.subarray(index, offset)` : `#@native[index]`
end
|
#[]=(index, value) ⇒ Object
35
36
37
|
# File 'opal/stdlib/buffer/array.rb', line 35
def []=(index, value)
`#@native[index] = value`
end
|
27
28
29
|
# File 'opal/stdlib/buffer/array.rb', line 27
def bits
`#@native.BYTES_PER_ELEMENT * 8`
end
|
39
40
41
|
# File 'opal/stdlib/buffer/array.rb', line 39
def bytesize
`#@native.byteLength`
end
|
43
44
45
46
47
48
49
50
51
52
53
|
# File 'opal/stdlib/buffer/array.rb', line 43
def each
return enum_for :each unless block_given?
%x{
for (var i = 0, length = #@native.length; i < length; i++) {
#{yield `#@native[i]`}
}
}
self
end
|
#length ⇒ Object
Also known as:
size
55
56
57
|
# File 'opal/stdlib/buffer/array.rb', line 55
def length
`#@native.length`
end
|
#merge!(other, offset = undefined) ⇒ Object
59
60
61
|
# File 'opal/stdlib/buffer/array.rb', line 59
def merge!(other, offset = undefined)
`#@native.set(#{other.to_n}, offset)`
end
|