Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
26
Task/Call-an-object-method/Raku/call-an-object-method-1.raku
Normal file
26
Task/Call-an-object-method/Raku/call-an-object-method-1.raku
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
class Thing {
|
||||
method regular-example() { say 'I haz a method' }
|
||||
|
||||
multi method multi-example() { say 'No arguments given' }
|
||||
multi method multi-example(Str $foo) { say 'String given' }
|
||||
multi method multi-example(Int $foo) { say 'Integer given' }
|
||||
};
|
||||
|
||||
# 'new' is actually a method, not a special keyword:
|
||||
my $thing = Thing.new;
|
||||
|
||||
# No arguments: parentheses are optional
|
||||
$thing.regular-example;
|
||||
$thing.regular-example();
|
||||
$thing.multi-example;
|
||||
$thing.multi-example();
|
||||
|
||||
# Arguments: parentheses or colon required
|
||||
$thing.multi-example("This is a string");
|
||||
$thing.multi-example: "This is a string";
|
||||
$thing.multi-example(42);
|
||||
$thing.multi-example: 42;
|
||||
|
||||
# Indirect (reverse order) method call syntax: colon required
|
||||
my $foo = new Thing: ;
|
||||
multi-example $thing: 42;
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
my @array = <a z c d y>;
|
||||
@array .= sort; # short for @array = @array.sort;
|
||||
|
||||
say @array».uc; # uppercase all the strings: A C D Y Z
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
my $object = "a string"; # Everything is an object.
|
||||
my method example-method {
|
||||
return "This is { self }.";
|
||||
}
|
||||
|
||||
say $object.&example-method; # Outputs "This is a string."
|
||||
Loading…
Add table
Add a link
Reference in a new issue