Int
ErrorsCollection

Int

Synthesised documentation from type/Num type/IO/Path type/Rational type/Enumeration type/Match type/IntStr type/StrDistance type/Bool type/Map type/Real type/Cool type/Str type/List

From type/Num

See Original text in context

method Int(Num:D:)

Converts the number to an Int. Fails with X::Numeric::CannotConvert if the invocant isNaN or Inf/-Inf. No rounding is performed.

From type/IO/Path

See Original text in context

method Int(IO::Path:D: --> Int:D)

Coerces basename to Int. fail with X::Str::Numeric if base name is not numerical.

From type/Rational

See Original text in context

method Int(Rational:D: --> Int:D)

Coerces the invocant to Int by truncating non-whole portion of the represented number, if any. If the denominator is zero, will fail with X::Numeric::DivideByZero.

From type/Enumeration

See Original text in context

multi method Int(::?CLASS:D:)

Takes a value of an enum and returns it after coercion to Int:

enum Numbers ( cool => '42'almost-pi => '3.14'sqrt-n-one => 'i' );
say cool.Int;           # OUTPUT: «42␤» 
say almost-pi.Int;      # OUTPUT: «3␤» 
try say sqrt-n-one.Int;
say $!.message if $!;   # OUTPUT: «Cannot convert 0+1i to Int: imaginary part not zero␤»

Note that if the value cannot be coerced to Int, an exception will be thrown.

From type/Match

See Original text in context

method Int(Match:D: --> Int:D)

Tries to convert stringified result of the matched text into Int.

say ('12345' ~~ /234/).Int;       # OUTPUT: «234␤» 
say ('12345' ~~ /234/).Int.^name# OUTPUT: «Int␤» 
# the next line produces a warning about using Nil (result of a no match) in numeric context 
say ('one-two' ~~ /234/).Int;     # OUTPUT: «0␤» # because Nil.Int returns 0

From type/IntStr

See Original text in context

method Int

Returns the integer value of the IntStr.

From type/StrDistance

See Original text in context

multi method Int(StrDistance:D:)

Returns the distance between the string before and after the transformation.

From type/Bool

See Original text in context

multi method Int(Bool:D --> Int:D)

Returns the value part of the enum pair.

say False.Int;                                # OUTPUT: «0␤» 
say True.Int;                                 # OUTPUT: «1␤»

From type/Map

See Original text in context

method Int(Map:D: --> Int:D)

Returns the number of pairs stored in the Map (same as .elems).

my $m = Map.new('a' => 2'b' => 17);
say $m.Int;                                       # OUTPUT: «2␤»

From type/Real

See Original text in context

method Int(Real:D:)

Calls the Bridge method on the invocant and then the Int method on its return value.

From type/Cool

See Original text in context

multi method Int()

Coerces the invocant to a Numeric and calls its .Int method. Fails if the coercion to a Numeric cannot be done.

say 1+0i.Int;             # OUTPUT: «1␤» 
say <2e1>.Int;            # OUTPUT: «20␤» 
say 1.3.Int;              # OUTPUT: «1␤» 
say (-4/3).Int;           # OUTPUT: «-1␤» 
say "foo".Int.^name;      # OUTPUT: «Failure␤»

From type/Str

See Original text in context

method Int(Str:D: --> Int:D)

Coerces the string to Int, using the same rules as Str.Numeric.

From type/List

See Original text in context

method Int(List:D: --> Int:D)

Returns the number of elements in the list (same as .elems).

say (1,2,3,4,5).Int# OUTPUT: «5␤»