gpt4 book ai didi

perl - 你能想到 Perl 6 的联结有什么用途?

转载 作者:行者123 更新时间:2023-12-03 21:35:50 25 4
gpt4 key购买 nike

更多信息来自 the Perl 6 Wikipedia entry

路口

Perl 6 引入了联结的概念:由其他值组合而成的值。[24]在 Perl 6 设计的早期,这些被称为“叠加”,类似于量子物理学中的量子叠加概念——可以同时占据多个状态的波形,直到观察“崩溃”它们。 Damian Conway 在 2000 年发布的一个名为 Quantum::Superpositions[25] 的 Perl 5 模块提供了初步的概念证明。虽然起初,这种叠加值似乎只是一种程序化的好奇心,但随着时间的推移,它们的实用性和直观性得到了广泛的认可,并且连接现在在 Perl 6 的设计中占据了中心位置。

在最简单的形式中,联结是通过将一组值与联结运算符组合来创建的:

my $any_even_digit = 0|2|4|6|8; # any(0, 2, 4, 6, 8)
my $all_odd_digits = 1&3&5&7&9; # all(1, 3, 5, 7, 9)

|表示一个等于其左侧或右侧参数的值。 & 表示一个等于其左右参数的值。这些值可以在任何使用正常值的代码中使用。在一个联结上执行的操作平等地作用于该联结的所有成员,并根据联结运算符进行组合。所以, ("apple"|"banana") ~ "s"会产生 "apples"|"bananas"。在比较中,联结会返回一个 true 或 false 比较结果。如果对结的任何一个元素的比较为真,则“任何”结返回真。如果比较对于连接的所有元素都为真,则“所有”连接返回 true。

通过引入一种受限于类型连接的泛型编程风格,连接还可以用于更丰富地扩充类型系统:
sub get_tint ( RGB_Color|CMYK_Color $color, num $opacity) { ... }
sub store_record (Record&Storable $rec) { ... }

最佳答案

一个月有多少天?

given( $month ){
when any(qw'1 3 5 7 8 10 12') {
$day = 31
}
when any(qw'4 6 9 11') {
$day = 30
}
when 2 {
$day = 29
}
}

关于perl - 你能想到 Perl 6 的联结有什么用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102271/

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