gpt4 book ai didi

raku - Raku 中 (Any) 的含义是什么 - 特别是 ()?

转载 作者:行者123 更新时间:2023-12-04 11:18:10 25 4
gpt4 key购买 nike

这是 Raku 的一个实验:

> my $x
(Any)
> my $y=1
1
> my @a=[1, 2]
[1 2]
> my %h=a=>'b'
{a => b}
> say "nil" unless $x
nil

我可以看到 []表示数组字面量, {}一个哈希文字。

我也可以看到 (Any)行为类似于 nil - 在上面显示的 bool 上下文中返回 false。

我找到了 (Any)有趣的。文档告诉我 Any只是乐中的神职之一。但是括号是做什么用的 ()附近 Any告诉我?

最佳答案

当您使用 REPL 时,表达式的结果使用 say 显示. say函数调用 .gist表达式上的函数。
Any是一个类型对象。类型对象有一个 .gist将括号放在它们周围的方法。
put功能与say几乎一样函数,但它调用 .Str表达式上的函数。这会产生警告,因为您无法真正对类型对象进行字符串化。观察差异:

$ raku -e 'say Any'
(Any)

# raku -e 'put Any'
Use of uninitialized value of type Any in string context.
Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at -e line 1

Classes and Objects , Type System , Type Objects想要查询更多的信息。

关于raku - Raku 中 (Any) 的含义是什么 - 特别是 ()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61818213/

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