签名 – 子集块(或一般的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”:忽略了签名智能匹配中位置参数的名称. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |