use
overload
bool
=>
sub
{1},
'""'
=>
sub
{
shift
->to_string },
fallback
=> 1;
sub
to_string {
my
$self
=
shift
;
my
$string
=
$self
->to_bin;
my
$success
= utf8::decode(
$string
);
unless
(
$success
) {
confess(
"The SPVM::BlessedObject::String object cannnot be decoded to Perl string"
);
}
return
$string
;
}
sub
to_bin {
my
$ret
;
eval
{
$ret
=
shift
->_xs_to_bin(
@_
) };
if
($@) { confess($@) }
$ret
; }
1;
=head1 Name
SPVM::BlessedObject::String - SPVM string
=head1 Description
The object of C<SPVM::BlessedObject::String> class holds an SPVM string.
=head1 Usage
my
$string
=
$blessed_object_string
->to_string;
my
$binary
=
$blessed_object_string
->to_bin;
=head1 Instance Methods
=head2 to_string
my
$string
=
$blessed_object_string
->to_string;
If the docoding fails, an exception is thrown.
=head2 to_bin
my
$binary
=
$blessed_object_string
->to_bin;
Returns a string as a binary.
=head1 Operators
Overloads the following operators.
=head2 bool
my
$bool
= !!
$blessed_object_string
;
Always true.
=head2 stringify
my
$string
=
"$blessed_object_string"
;
The alias
for
L</
"to_string"
>.
=head1 Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License