📄 concat.pm
字号:
#: Kid/AST/concat.pm - generated from template/leftop.pm.tt
package concat;
use strict;
use warnings;
#use Data::Dumper::Simple;
sub concat {
my $self = shift;
if (!exists $self->{concat}) {
my $rlist = $self->{'modified_atom(s?)'};
return nil->new if not $rlist;
my @modified_atoms = @$rlist;
my $modified_atom = pop @modified_atoms;
my $concat;
if (@modified_atoms) {
$concat = bless {'modified_atom(s?)' => \@modified_atoms}, ref $self;
} else {
$concat = nil->new;
}
$self->{concat} = $concat;
$self->{modified_atom} = $modified_atom;
#delete $self->{'modified_atom(s?)'};
#warn Dumper($self);
}
return $self->{concat};
}
sub modified_atom {
my $self = shift;
if (!exists $self->{modified_atom}) {
$self->concat;
}
if (@_) {
$self->{modified_atom} = shift;
} else {
$self->{modified_atom} || nil->new;
}
}
sub get_all {
my $list = shift;
my @elems;
while (ref $list eq 'concat') {
unshift @elems, $list->modified_atom;
$list = $list->concat;
}
@elems;
}
1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -