class HyperSeq does Iterable does Sequence { }

当对Seq调用hyper时,HyperSeq是使用的中间对象。通常,它不打算由开发人员直接使用。

方法§

方法迭代器§

method iterator(HyperSeq:D: --> Iterator:D)

返回底层迭代器。

方法grep§

method grep(HyperSeq:D: $matcher*%options)

HyperSeq应用grep,类似于对Seq应用grep的方式。

my @hyped = (^10000).map(*²).hyper;
@hyped.grep* %% 3 ).say;
# OUTPUT: «(0 9 36 81 144 ...)␤» 

当你在Seq上使用hyper时,实际上调用的就是此方法。

方法map§

method map(HyperSeq:D: $matcher*%options)

HyperSeq使用映射,通常通过将hyper应用于已存在的Seq来创建。

方法invert§

method invert(HyperSeq:D:)

通过.hyperSeq创建的HyperSeq反转。

方法hyper§

method hyper(HyperSeq:D:)

返回对象。

方法race§

method race(HyperSeq:D:)

从当前对象创建一个RaceSeq对象。

方法serial§

multi method serial(HyperSeq:D:)

将对象转换为Seq并返回。

方法is-lazy§

method is-lazy(--> False )

返回False

方法sink§

method sink(--> Nil)

汇入底层数据结构,产生任何副作用。

类型图§

HyperSeq的类型关系
raku-type-graph HyperSeq HyperSeq Any Any HyperSeq->Any Iterable Iterable HyperSeq->Iterable Sequence Sequence HyperSeq->Sequence Mu Mu Any->Mu PositionalBindFailover PositionalBindFailover Sequence->PositionalBindFailover

展开上面的图表