The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Ambrosia::core::Nil - implement pattern NullObject.

VERSION

version 0.010

SYNOPSIS

    use Ambrosia::core::Nil;

    $obj = new Ambrosia::core::Nil(@arg);

    $obj->foo(); #It's work and not invoke exeption.
    $obj->()->()->foo(); #And it's work too.
    @a = $obj->foo(); #return empty array
    $b = $obj->foo(); #return object of Ambrosia::core::Nil
    #with string concatenation $obj return empty string
    $s = "foo" . $obj; #$s eq 'foo'
    $i = 10 + $obj; #$i == 10
    #%$obj is empty hash
    #@$obj is empty array
    unless ( $obj )
    {
        print "The object of type Ambrosia::core::Nil allthase is false.\n";
    }

DESCRIPTION

Ambrosia::core::Nil implement pattern NullObject.

Has only the constructor new.

You can call any methods, and it will not lead to an error.

They will return reference on object of type <Ambrosia::core::Nil> in scalar context and will return empty array in list context.

CONSTRUCTOR

new

new Constructor. Instances the object of type Ambrosia::core::Nil.

THREADS

Not tested.

BUGS

Please report bugs relevant to Ambrosia to <knm[at]cpan.org>.

COPYRIGHT AND LICENSE

Copyright (C) 2010-2012 Nickolay Kuritsyn. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Nikolay Kuritsyn (knm[at]cpan.org)