Class: Erlang::ETF::String
- Inherits:
-
Object
- Object
- Erlang::ETF::String
- Includes:
- Term
- Defined in:
- lib/erlang/etf/string.rb
Overview
1 | 2 | Len |
---|---|---|
107 | Len | Characters |
String does NOT have a corresponding Erlang representation, but
is an optimization for sending lists of bytes (integer in the
range 0-255) more efficiently over the distribution. Since the
Length field is an unsigned 2 byte integer (big endian),
implementations must make sure that lists longer than 65535
elements are encoded as LIST_EXT
.
(see STRING_EXT
)
Constant Summary
Constants included from Term
Term::BERT_PREFIX, Term::BIN_LSB_PACK, Term::BIN_MSB_PACK
Instance Method Summary collapse
- #__ruby_evolve__ ⇒ Object
- #deserialize_characters(buffer) ⇒ Object
-
#initialize(characters) ⇒ String
constructor
A new instance of String.
- #serialize_characters(buffer) ⇒ Object
Methods included from Term
#==, #__erlang_evolve__, #__erlang_type__, included
Constructor Details
#initialize(characters) ⇒ String
Returns a new instance of String.
42 43 44 |
# File 'lib/erlang/etf/string.rb', line 42 def initialize(characters) @characters = characters end |
Instance Method Details
#__ruby_evolve__ ⇒ Object
46 47 48 |
# File 'lib/erlang/etf/string.rb', line 46 def __ruby_evolve__ ::Erlang::String.new(characters) end |
#deserialize_characters(buffer) ⇒ Object
31 32 33 |
# File 'lib/erlang/etf/string.rb', line 31 def deserialize_characters(buffer) self.characters = buffer.read(len).from_utf8_binary end |
#serialize_characters(buffer) ⇒ Object
36 37 38 |
# File 'lib/erlang/etf/string.rb', line 36 def serialize_characters(buffer) buffer << characters.to_utf8_binary end |