Wow Tom!

I had to correct one line (`my Str $s = "foo";`), 

then got this return:

`MyPair.new(b => Bool::True, s => "foo")`

Very cool!

Best, Bill.

> On Oct 27, 2025, at 07:02, Tom Browder <[email protected]> wrote:
> 
> I don't think you can do what you want exactly. But I certainly may be wrong!
> 
> Using a pair may do the trick, but my Pair foo outside a Hash is weak.
> 
> The other way around it is to do something like this I use often:
> 
> class MyPair {
>     has Bool $.b;
>     has Str $.s;
> }
> 
> sub x(--> MyPair) {
>     my Bool $b = True;
>     my Str = "foo";
>     my $obj = MyPair.new(:$b,:$s);
>    $obj;
> }
> 
> say x; # OUTPUT 
> 
> On Mon, Oct 27, 2025 at 05:34 ToddAndMargo via perl6-users 
> <[email protected] <mailto:[email protected]>> wrote:
>> On 10/27/25 3:13 AM, Tom Browder wrote:
>> > On Sun, Oct 26, 2025 at 19:46 ToddAndMargo via perl6-users <perl6- 
>> > [email protected] <mailto:[email protected]> <mailto:[email protected] 
>> > <mailto:[email protected]>>> wrote:
>> > 
>> >     Hi All,
>> > 
>> >     What am I doing wrong here?  I want
>> >     two things in my "returns".
>> > 
>> > 
>> >     [2] > sub x() returns Bool,Str {}
>> >     ===SORRY!=== Error while compiling:
>> >     Missing block
>> >     ------> sub x() returns Bool⏏,Str {}
>> >           expecting any of:
>> >               new name to be defined
>> > 
>> >     Yours in confusion,
>> >     -T
>> > 
>> > 
>> > Return a List of a defined Bool and Str:
>> > 
>> > sub x(--> List) {
>> >      my Str $s = "hello";
>> >      my Bool $b = True;
>> >      $b, $s;
>> > }
>> > 
>> > say x;
>> > OUTPUT: (True hello)
>> > 
>> > -Tom
>> 
>> Hi Tom,
>> 
>> Dang.  List does not tell me what they are.
>> 
>> Thank you for the help.
>> 
>> -T

Reply via email to