加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

签名 – 子集块(或一般的Callables)

发布时间:2020-12-15 21:49:03 所属栏目:大数据 来源:网络整理
导读:这个 question was originally posted by lookatme in the Perl6 IRC channel.最初的意图是0700到 using subsets或任何其他可能的方式.它适用于签名,但是: subset WalkCb of Callable where *.signature ~~ :(Int $a); my WalkCb $x = sub (Int $a) { retur
这个 question was originally posted by lookatme in the Perl6 IRC channel.最初的意图是0700到 using subsets或任何其他可能的方式.它适用于签名,但是:
subset WalkCb of Callable where *.signature ~~ :(Int $a); 
my WalkCb $x = sub (Int $a) { return $a; };

回报

?Type check failed in assignment to $x; expected WalkCb but got Sub (sub (Int $a) { #`(Sub...)?  in block <unit> at <tmp> line 1???

声明的其他变体返回类似的消息.什么是正确的语法?

解决方法

在这种情况下,似乎WhateverCode解析混乱了.所以如果你在where中指定一个块:
subset WalkCb of Callable where { .signature ~~ :(Int $) }
my WalkCb $x = sub (Int $a) { return $a; }

它似乎按预期工作.还要注意我删除了;在行的末尾,作为一行的结尾也是一个语句的结尾.并且我从签名中删除了“a”:忽略了签名智能匹配中位置参数的名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读