gpt4 book ai didi

raku - 日期对象 "forgets"格式化程序?

转载 作者:行者123 更新时间:2023-12-04 13:56:24 26 4
gpt4 key购买 nike

使用 Perl6 的 Date 时处理格式化程序对象是否有错误?如果我在实例化对象后操作日期,则格式化程序似乎返回到默认值。

my $d = Date.new(2019, 12, 25, formatter => { sprintf "%02d/%02d in %04d", .month, .day, .year });
# Outputs 12/25 in 2019

$d.later(:1day)
# Outputs 2019-12-26

我预计调用 .later 方法后的输出为“2019 年 12/26”。

在 GitHub 上查看 Date.pm6 时 -- https://github.com/rakudo/rakudo/blob/master/src/core/Date.pm6 -- 我看到 .later 方法使用 .new 创建新的 Date 对象,而不引用设置的格式化程序。 IE。应该第 151 行
self.new-from-daycount(self.daycount + $multiplier * $amount )

而是像
self.new-from-daycount(self.daycount + $multiplier * $amount, &!formatter )

?

如果是这样的话,很多地方都没有,不仅是 .later,还有 .succ、.pred 等。

最佳答案

看起来这是发送给 new-from-daycount 的疏忽。 ,得到了修复:https://github.com/rakudo/rakudo/commit/ac11774d73 .

我认为这应该可以解决所有问题。请在 https://github.com/rakudo/rakudo/issues/new 提出问题如果不。

关于raku - 日期对象 "forgets"格式化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57270373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com