Acme-Lambda-Expr
view release on metacpan or search on metacpan
inc/Module/Install.pm view on Meta::CPAN
}
# Cloned from Params::Util::_CLASS
sub _CLASS ($) {
(
defined $_[0]
and
! ref $_[0]
and
$_[0] =~ m/^[^\W\d]\w*(?:::\w+)*$/s
) ? $_[0] : undef;
}
1;
# Copyright 2008 Adam Kennedy.
lib/Acme/Lambda/Expr/Method.pm view on Meta::CPAN
my $invocant = $self->invocant;
my $method = $self->method;
my @args = $self->args;
return sub{
my $self = &{$invocant};
$self->$method(map{ &{$_} } @args);
# if(not defined $self){
# Carp::croak(qq{Can't call method "$method" on an undefined value});
# }
# elsif(Scalar::Util::looks_like_number $self){
# Carp::croak(qq{Can't call method "$method" without a package or object reference});
# }
#
# my $method_entity = $self->can($method);
#
# if($method_entity){
# @_ = ($self, map{ &{$_} } @args);
# goto &{$method_entity};
lib/Acme/Lambda/Expr/Value.pm view on Meta::CPAN
else{
$value =~ s/\\/\\\\/g;
$value =~ s/\n/\\n/g;
$value =~ s/\r/\\r/g;
$value =~ s/\t/\\t/g;
$value =~ s/"/\\"/g;
$value = qq{"$value"};
}
}
else{
$value = 'undef';
}
return $value;
}
sub stringify{
my($self) = @_;
return sprintf 'value(%s)', $self->deparse;
}
t/02_curry.t view on Meta::CPAN
my $o = Foo->new(vlaue => 10);
$f = curry 'value', $o, $x;
$f->(20);
is $o->value, 20;
$f = curry $x - $y, 10, $x;
is $f->(6), 4;
$f = curry undefined_method => $x;
throws_ok{
$f->($o);
} qr/Can't locate object method/;
throws_ok{
$f->(undef);
} qr/Can't call method/;
( run in 1.839 second using v1.01-cache-2.11-cpan-d80b1682f3f )