【问题标题】:Perl6: why does substr-rw behave this way?Perl6:为什么 substr-rw 会这样?
【发布时间】:2016-03-24 19:28:25
【问题描述】:

这里substr-rw为什么要截掉后面的6

#!/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

perl6 --version
This is Rakudo version 2016.03-38-g8df1a69 built on MoarVM version 2016.03-46-g50c7f6a implementing Perl 6.c.

【问题讨论】:

标签: substr raku


【解决方案1】:

更新: 在 2016 年 7 月 21 日之后构建的 Rakudo/MoarVM 应该可以正常运行。

对我来说似乎是一个错误。请注意,字符串的构造方式很重要:

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

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 2011-06-03
    • 2018-06-08
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多