NAME
Venus::Kind::Value - Value Base Class
ABSTRACT
Value Base Class for Perl 5
SYNOPSIS
package Example;
use Venus::Class;
extends 'Venus::Kind::Value';
package main;
my $example = Example->new;
# $example->defined;
DESCRIPTION
This package provides identity and methods common across all Venus value classes.
INHERITS
This package inherits behaviors from:
INTEGRATES
This package integrates behaviors from:
METHODS
This package provides the following methods:
cast
cast(Str $kind) (Object | Undef)
The cast method converts "value" objects between different "value" object types, based on the name of the type provided. This method will return undef
if the invocant is not a Venus::Kind::Value.
Since 0.08
- cast example 1
-
package main; my $example = Example->new; my $cast = $example->cast; # bless({value => undef}, "Venus::Undef")
- cast example 2
-
package main; my $example = Example->new( value => 123.45, ); my $cast = $example->cast('array'); # bless({value => [123.45]}, "Venus::Array")
- cast example 3
-
package main; my $example = Example->new( value => 123.45, ); my $cast = $example->cast('hash'); # bless({value => {'123.45' => 123.45}, "Venus::Hash")
defined
defined() (Int)
The defined method returns truthy or falsy if the underlying value is "defined".
Since 0.01
- defined example 2
-
package main; my $example = Example->new(time); my $defined = $example->defined; # 1
explain
explain() (Any)
The explain method returns the value set and is used in stringification operations.
Since 0.01
- explain example 1
-
package main; my $example = Example->new('hello, there'); my $explain = $example->explain; # "hello, there"
AUTHORS
Cpanery, cpanery@cpan.org
LICENSE
Copyright (C) 2021, Cpanery
Read the "license" file.