Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
1
Task/Undefined-values/Raku/undefined-values-1.raku
Normal file
1
Task/Undefined-values/Raku/undefined-values-1.raku
Normal file
|
|
@ -0,0 +1 @@
|
|||
my $x; $x = 42; $x = Nil; say $x.WHAT; # prints Any()
|
||||
1
Task/Undefined-values/Raku/undefined-values-2.raku
Normal file
1
Task/Undefined-values/Raku/undefined-values-2.raku
Normal file
|
|
@ -0,0 +1 @@
|
|||
say Method ~~ Routine; # Bool::True
|
||||
3
Task/Undefined-values/Raku/undefined-values-3.raku
Normal file
3
Task/Undefined-values/Raku/undefined-values-3.raku
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
my $x; say $x.WHAT; # Any()
|
||||
my Int $y; say $y.WHAT; # Int()
|
||||
my Str $z; say $z.WHAT; # Str()
|
||||
6
Task/Undefined-values/Raku/undefined-values-4.raku
Normal file
6
Task/Undefined-values/Raku/undefined-values-4.raku
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
my Int:D $i = 1; # if $i has to be defined you must provide a default value
|
||||
multi sub foo(Int:D $i where * != 0){ (0..100).roll / $i } # we will never divide by 0
|
||||
multi sub foo(Int:U $i){ die 'WELP! $i is undefined' } # because undefinedness is deadly
|
||||
|
||||
with $i { say 'defined' } # as "if" is looking for Bool::True, "with" is looking for *.defined
|
||||
with 0 { say '0 may not divide but it is defined' }
|
||||
17
Task/Undefined-values/Raku/undefined-values-5.raku
Normal file
17
Task/Undefined-values/Raku/undefined-values-5.raku
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
my $is-defined = 1;
|
||||
my $ain't-defined = Any;
|
||||
my $doesn't-matter;
|
||||
my Any:D $will-be-defined = $ain't-defined // $is-defined // $doesn't-matter;
|
||||
|
||||
my @a-mixed-list = Any, 1, Any, 'a';
|
||||
$will-be-defined = [//] @a-mixed-list; # [//] will return the first defined value
|
||||
|
||||
my @a = Any,Any,1,1;
|
||||
my @b = 2,Any,Any,2;
|
||||
my @may-contain-any = @a >>//<< @b; # contains: [2, Any, 1, 1]
|
||||
|
||||
sub f1(){Failure.new('WELP!')};
|
||||
sub f2(){ $_ ~~ Failure }; # orelse will kindly set the topic for us
|
||||
my $s = (f1() orelse f2()); # Please note the parentheses, which are needed because orelse is
|
||||
# much looser then infix:<=> .
|
||||
dd $s; # this be Bool::False
|
||||
Loading…
Add table
Add a link
Reference in a new issue