Alt-IO-All-new

 view release on metacpan or  search on metacpan

inc/TestML/Library/Standard.pm  view on Meta::CPAN

    return num scalar @{$list->list->value};
}

sub Lines {
    my ($self, $text) = @_;
    return list([ map str($_), split /\n/, $text->value ]);
}

sub Reverse {
    my ($self, $list) = @_;
    my $value = $list->list->value;
    return list([ reverse @$value ]);
}

sub Sort {
    my ($self, $list) = @_;
    my $value = $list->list->value;
    return list([ sort { $a->value cmp $b->value } @$value ]);
}

sub Strip {
    my ($self, $string, $part) = @_;
    $string = $string->str->value;
    $part = $part->str->value;
    if ((my $i = index($string, $part)) >= 0) {
        $string = substr($string, 0, $i) . substr($string, $i + length($part));
    }
    return str $string;
}

sub Print {
    my ($self, $string) = @_;
    print STDOUT $string->value;
    return bool(1);
}

sub Chomp {
    my ($self, $string) = @_;
    my $value = $string->str->value;
    chomp($value);
    return str $value;
}

1;

# sub Has {
#     my ($self, $string, $part) = @_;
#     $string = $string->str->value;
#     $part = $part->str->value;
#     return bool(index($string, $part) >= 0);
# }

# sub RunCommand {
#     require Capture::Tiny;
#     my ($self, $command) = @_;
#     $command = $command->value;
#     chomp($command);
#     my $sub = sub {
#         system($command);
#     };
#     my ($stdout, $stderr) = Capture::Tiny::capture($sub);
#     $self->runtime->function->setvar('_Stdout', $stdout);
#     $self->runtime->function->setvar('_Stderr', $stderr);
#     return str('');
# }

# sub RmPath {
#     require File::Path;
#     my ($self, $path) = @_;
#     $path = $path->value;
#     File::Path::rmtree($path);
#     return str('');
# }

# sub Stdout {
#     my ($self) = @_;
#     return $self->runtime->function->getvar('_Stdout');
# }

# sub Stderr {
#     my ($self) = @_;
#     return $self->runtime->function->getvar('_Stderr');
# }

# sub Chdir {
#     my ($self, $dir) = @_;
#     $dir = $dir->value;
#     chdir $dir;
#     return str('');
# }

# sub Read {
#     my ($self, $file) = @_;
#     $file = $file->value;
#     use Cwd;
#     open FILE, $file or die "Can't open $file for input in " . Cwd::cwd;
#     my $text = do { local $/; <FILE> };
#     close FILE;
#     return str($text);
# }

# sub Pass {
#     my ($self, @args) = @_;
#     return @args;
# }

# sub Raw {
#     my $self = shift;
#     my $point = $self->point
#         or die "Raw called but there is no point";
#     return $self->runtime->block->points->{$point};
# }

# sub Point {
#     my ($self, $name) = @_;
#     $name = $name->value;
#     $self->runtime->get_point($name);
# }



( run in 1.007 second using v1.01-cache-2.11-cpan-5a3173703d6 )