如何测试导入的Perl 6例程是否存在?

时间:2017-03-24 23:59:19

标签: testing import perl6

我想检查当前作用域中是否定义了可导出的子程序,我还想测试子程序是否未定义。这两种情况都应该在没有运行代码的情况下发生,我真的想要一种没有document.querySelectorAll(".two .one")[0].className = "cloned"; 的方法。我在烘焙中发现的例子执行了测试人员假设的子程序已经存在。

这是我拼凑在一起的东西,但对于我期望能够检查的语言来说,它几乎不满意:

SELECT DATEADD(day, 0, DATEDIFF(day, 0, IMPORTDATE)) +
DATEADD(day, 0 - DATEDIFF(day, 0, DATE), DATE)
FROM [DatabaseName].[dbo].[Imports]
WHERE Date  >= Convert(datetime, '2018-12-31' )

1 个答案:

答案 0 :(得分:3)

say so ::('&non-existent'); # False

say so ::('&say'); # True

if ::('&say') -> &say {
  say 4; # 4␤
}

请注意,这些也可用于引用可能存在或不存在的子例程。

&::('say')
::{'&say','&put'}
::<&say &put>     # similar to previous line

&CORE::('say')
CORE::('&say')
CORE::{'&say','&put'}
CORE::<&say &put> # similar to previous line

同样&(…)用于强制代码类型对象,因此仅适用于已经CallableCALL-ME方法的内容。