首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl6:为什么substr会这样做?

Perl6:为什么substr会这样做?
EN

Stack Overflow用户
提问于 2016-03-24 19:28:25
回答 1查看 107关注 0票数 2

为什么substr-rw在这里切断了尾随的6

代码语言:javascript
复制
#!/usr/bin/env perl6
use v6;

my $str = '123';
$str ~= '.' x 30;
$str ~= '456';

say $str;       #   123..............................456
$str.substr-rw( 0, 10 ) = '';
say $str;       #   ........................45
代码语言:javascript
复制
perl6 --version
This is Rakudo version 2016.03-38-g8df1a69 built on MoarVM version 2016.03-46-g50c7f6a implementing Perl 6.c.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-24 20:14:44

更新: Rakudo/MoarVM在2016-0721之后构建的应该能够正常运行。

在我看来是个虫子。请注意,如何构造字符串很重要:

代码语言:javascript
复制
my $a = '.' x 3 ~ 'x';
my $b = sprintf('%s', $a); # or just '...x', but not "$a"

say $a; #=> ..x
say $b; #=> ..x

$a.substr-rw( 0, 2 ) = '';
$b.substr-rw( 0, 2 ) = '';

say $a; #=> ..
say $b; #=> .x

更新:已报告错误:RT#127782

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36208514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档