> On 30 Apr 2018, at 15:12, ToddAndMargo <toddandma...@zoho.com> wrote: > > On 04/30/2018 05:44 AM, Elizabeth Mattijsen wrote: >>> On 30 Apr 2018, at 12:43, ToddAndMargo <toddandma...@zoho.com> wrote: >>> >>> >>>> Am 30.04.2018 um 08:47 schrieb ToddAndMargo: >>>>> Hi All, >>>>> >>>>> I know it would only take me 25 seconds to write one, >>>>> but do we have an odd and even function build in? >>>>> >>>>> >>>>> Many thanks, >>>>> -T >>>>> >>>>> $ perl6 -e 'my $x=3; say $x.odd;' >>>>> No such method 'odd' for invocant of type 'Int'. Did you mean 'ord'? >>>>> in block <unit> at -e line 1 >>>>> >>>>> $ perl6 -e 'my $x=3; say $x.even;' >>>>> No such method 'even' for invocant of type 'Int' >>>>> in block <unit> at -e line 1 >>> >>> On 04/30/2018 02:05 AM, Martin Barth wrote: >>>> Are you aware of the %% operator? >>>> >>>> $var %% 2 checks wether it is dividable by 2. >>>> >>>> >>> >>> No I was not. Thank you! >>> >>> I was just going to do a >>> >>> sub odd( $Num ) { return $Num % 2; } >>> sub even( $Num ) { return not $Num.odd; } >> If you create this sub to do value checking, then maybe this approach is >> better for you: >> subset EvenInt of Int where * %% 2; # all the even Ints >> subset OddInt of Int where * !%% 2; # all the odd Ints >> # works >> my EvenInt $x = 42; >> # dies with: Type check failed in assignment to $y; expected EvenInt but >> got Int (42) >> my OddInt $y = 42; >> Liz > > I don't get it. Why would I want to do this? I only want to know if > an integer is odd or even. What am I missing? > > For example, I just coded this: > > sub odd( $Num ) { return $Num % 2; } > > for split( "\n", $ClipStr ).kv -> $LineNum, $Line {
> if odd $LineNum > { $PartsStr ~= '<font color="#006600">'; } # Green > else { $PartsStr ~= '<font color="#663366">'; } # Purple > ... > } > > It allows me to alternate the color for odd and even lines. > > Please remember that I have about 1/100 of your skill when you > explain things to me. (For instance, I have no clue what > `subset` is or how to use it.) A subset creates a new Type (like Int) from a base type (such as Int) and narrows down the condition that is acceptable for it. https://docs.perl6.org/language/typesystem#index-entry-subset-subset