2016-01-05 4 views

Antwort

5

In My :: Klasse:

has Int @.option; 
2

Ich bin nicht sicher, warum dies zu tun, die meisten Perl6 Programmierer mit declare Teilmenge für Array-Element, aber nicht für Array selbst. Rakudo beschließt, List anstelle von Array zu erstellen -> die gleiche Falle kommt, wenn Rat Art anstelle von Num verwendet wird. Jedenfalls ist es möglich. Subset ist nicht vollständig qualifiziert (es ist nicht möglich, es zu instanziieren). Sie müssen ein Array explizit $aoi = Array[Int].new(1,2,3,4,5,6) erstellen.

> subset AoI of Array of Int 
> my AoI $aoi; 
> $aoi = Array[Int].new  
> $aoi.append(1,2,3,4) 
    [1 2 3 4] 
> $aoi.append("mystr") 
Type check failed in assignment to ; expected Int but got Str 
in block <unit> at <unknown file> line 1 
+0

Ich brauche nur 'hat Int @ .option', aber ich wusste nicht, dass vor. –

Verwandte Themen