class StrDistance

Contains the result of a string transformation.

StrDistance objects are used to represent the return of the string transformation operator.

say (($ = "fold"~~ tr/old/new/).^name;  # OUTPUT: «StrDistance␤» 

A StrDistance object will stringify to the resulting string after the transformation, and will numify to the distance between the two strings.

my $str = "fold";
my $str-dist = ($str ~~ tr/old/new/);
say ~$str-dist;  # OUTPUT: «fnew␤» 
say +$str-dist;  # OUTPUT: «3␤»                                       │ 

Methods

method before

This is actually a class attribute, and called as a method returns the string before the transformation:

say $str-dist.before#OUTPUT: «fold␤» 

method after

Also a class attribute, returns the string after the transformation

say $str-dist.after#OUTPUT: «fnew␤» 

method Bool

Returns True if before is different from After.

method Numeric

Returns the distance as a number.

method Int

Defined as:

multi method Int(StrDistance:D:)

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