ordperl中的函数返回字符的数值.可以在列表上下文中调用该函数吗?具体来说,我想将字符串分解为其数字字符值(例如,ABC- > 65, 66, 67).但是,以下命令未给出预期结果:ord(split(//,$STRING)).我可以使用循环结构,如下所示:
my @NUMERIC=();
for(my $i=0;$i<@STRING;$i++) {
$NUMERIC[$i] = ord($STRING[$i]);
}
Run Code Online (Sandbox Code Playgroud)
但我想找到一个单线解决方案,如果可能的话,从函数产生列表输出.
使用ord您可以确定只有一个字符的字符代码.为了从您可以使用一个字符串获取代码列表split和map在一起.像这样
my $s = 'STRING';
my @codes = map ord, split //, $s;
print "@codes\n";
Run Code Online (Sandbox Code Playgroud)
产量
83 84 82 73 78 71
Run Code Online (Sandbox Code Playgroud)