如何跳过类似于Haskell模式匹配的Perl列表赋值中的元素?
发布时间:2020-12-15 23:22:32 所属栏目:大数据 来源:网络整理
导读:在 Haskell(和各种其他函数式编程语言)中,pattern matching可用于分配列表的特定元素,同时丢弃其他元素: Prelude let [x,_,z] = "abc"Prelude x'a'Prelude [z,x]"ca" 请注意,’_’不是变量,并且未分配任何内容: Prelude _interactive:5:1: Pattern syntax
在
Haskell(和各种其他函数式编程语言)中,pattern matching可用于分配列表的特定元素,同时丢弃其他元素:
Prelude> let [x,_,z] = "abc" Prelude> x 'a' Prelude> [z,x] "ca" 请注意,’_’不是变量,并且未分配任何内容: Prelude> _ <interactive>:5:1: Pattern syntax in expression context: _ 对于用Perl编写的Irssi脚本,我想做类似的事情并丢弃’@_’的第二个元素(即不将它分配给任何东西): my ($message,$windowItem) = @_; 这失败并显示错误消息:“无法在[…] overlength_filter.pl第17行的”my“中声明常量项,靠近”)=“” 那么这个下划线通配符的Perl等价物是什么? 解决方法
只需将其分配给undef.
我的($message,undef,$windowItem)= @_; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |