gpt4 book ai didi

raku - 在 Raku 中说没有换行符

转载 作者:行者123 更新时间:2023-12-03 20:26:23 33 4
gpt4 key购买 nike

我想连续打印偶数,但我不能。

use Terminal::ANSIColor;
# Wanna print even numbers in red
for <1 2 3 4>
{ $_ %2 == 0 ?? say color('red'),$_,color('reset') !! say $_ }
printf似乎不适用于 Terminal::ANSIColor指令和 put也不行。

有没有切换到 say这使它在没有换行符的情况下打印?如何打印这些 Terminal::ANSIColor连续格式化部分?

最佳答案

say基本上定义为:

sub say ( +@_ ) {
for @_ {
$*OUT.print( $_.gist )
}

$*OUT.print( $*OUT.nl-out );
}

如果您不想要换行符,您可以更改 $*OUT.nl-out 的值或使用 printgist .

say $_;

print $_.gist;

在许多情况下调用 .gist 的结果与 .Str 相同.这意味着您甚至不需要调用 .gist .

use Terminal::ANSIColor;
# Wanna print even numbers in red
for <1 2 3 4> {
$_ %% 2 ?? print color('red'), $_, color('reset') !! print $_
}

(请注意,我使用了被运算符 %% 整除。)
say是针对人类的,这就是它使用 .gist 的原因并添加换行符。

如果您想要更细粒度的控制,请不要使用 say .使用 printput反而。

关于raku - 在 Raku 中说没有换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60423793/

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