[フレーム]

Class: Buffer::Array

Inherits:
Object show all
Includes:
Enumerable , Native::Wrapper
Defined in:
opal/stdlib/buffer/array.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Enumerable

#each_async , #to_json

Methods included from Native::Wrapper

included , #to_n

Constructor Details

#initialize(buffer, bits = nil, type = nil) ⇒ Array

Returns a new instance of Array.

15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'opal/stdlib/buffer/array.rb', line 15
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

#bufferObject (readonly)

Returns the value of attribute buffer.

13
14
15
# File 'opal/stdlib/buffer/array.rb', line 13
def buffer
 @buffer
end

#typeObject (readonly)

Returns the value of attribute type.

13
14
15
# File 'opal/stdlib/buffer/array.rb', line 13
def type
 @type
end

Class Method Details

.for(bits, type) ⇒ Object

7
8
9
# File 'opal/stdlib/buffer/array.rb', line 7
def self.for(bits, type)
 $$["#{Buffer .name_for  bits, type}Array"]
end

Instance Method Details

#[](index, offset = nil) ⇒ Object

34
35
36
# File 'opal/stdlib/buffer/array.rb', line 34
def [](index, offset = nil)
 offset ? `#{@native}.subarray(index, offset)` : `#{@native}[index]`
end

#[]=(index, value) ⇒ Object

38
39
40
# File 'opal/stdlib/buffer/array.rb', line 38
def []=(index, value)
 `#{@native}[index] = value`
end

#bitsObject

30
31
32
# File 'opal/stdlib/buffer/array.rb', line 30
def bits
 `#{@native}.BYTES_PER_ELEMENT * 8`
end

#bytesizeObject

42
43
44
# File 'opal/stdlib/buffer/array.rb', line 42
def bytesize
 `#{@native}.byteLength`
end

#eachObject

46
47
48
49
50
51
52
53
54
55
56
# File 'opal/stdlib/buffer/array.rb', line 46
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

#lengthObject Also known as: size

58
59
60
# File 'opal/stdlib/buffer/array.rb', line 58
def length
 `#{@native}.length`
end

#merge!(other, offset = undefined) ⇒ Object

62
63
64
# File 'opal/stdlib/buffer/array.rb', line 62
def merge!(other, offset = undefined)
 `#{@native}.set(#{other.to_n}, offset)`
end

AltStyle によって変換されたページ (->オリジナル) /