对于只包含Str元素的Array,我可以使用grep(Str)来消除a:delete之后的空槽;
例如:
my @prov_cd = <AB BC MB NB NL NS ON PE QC SK>;
@prov_cd[2]:delete; # Manitoba deleted
@prov_cd; # [AB BC (Any) NB NL NS ON PE QC SK]
my @prov_cd_cleanup = @prov_cd.grep(Str); # get rid of (Any) empty slot: [AB BC NB NL NS ON PE QC SK]
@prov_cd = @prov_cd_cleanup; # [AB BC NB NL NS ON PE QC SK]
Run Code Online (Sandbox Code Playgroud)
Array可以包含各种对象类型; 我宁愿"grep"所有不是(任何)的东西.
我怎样才能做到这一点 ?
谢谢.
首先,请注意,如果您通过拼接而不是删除条目:delete,则项目将被移动,并且不会生成"洞".
现在,如果你真的想要过滤掉Any,你可以通过
@prov_cd.grep(* !=== Any)
Run Code Online (Sandbox Code Playgroud)
但是,我怀疑你在寻找
@prov_cd.grep(*.defined)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |