例如,我有一个向量'H2DH2DH'
,有没有办法计算出现的'H'
标量的数量?
答案 0 :(得分:1)
我认为你的意思是你有字符向量'H2DH2DH'
,并且想要计算那里有多少个标量'H'
字符。
'H'='H2DH2DH
将为您提供一个布尔向量,指示所需字符的位置。 +/'H'='H2DH2DH'
会对此进行总结,然后给你计算。
您还可以定义一个通用函数,它将标量作为左参数,将矢量作为右参数,并计算向量中标量的出现次数。
一些APL系统(例如Dyalog,GNU和ngn)将允许您编写CountIn←{+/⍺=⍵}
,其中⍺
代表左参数,⍵
代表右参数。 Try it online!剩下的系统(例如APLX,APL + WIN和APL2)会让您输入:
∇ count←char CountIn text
count←+/char=text
∇
答案 1 :(得分:0)
或者,如果您愿意,可以使用内部产品来计算事件:
'H'+.='H2DH2DH'
(多年前,在其他实现方面,+/'H'='H2DH2DH'
可能会稍快一点,也许这仍然是正确的)