On 07/03/2015 10:02 PM, yary wrote:
> On Fri, Jul 3, 2015 at 3:03 PM, Timo Paulssen wrote:
>> but this does not
>>
>>> sub takes_int_array(Int @bar) { say @bar }
>>> takes_int_array([1, 2, 3])
>>
>> because the type match is against the defined type. We do not
>> automatically infer that [1, 2,
On 07/03/2015 10:02 PM, yary wrote:
> On Fri, Jul 3, 2015 at 3:03 PM, Timo Paulssen wrote:
>> but this does not
>>
>>> sub takes_int_array(Int @bar) { say @bar }
>>> takes_int_array([1, 2, 3])
>> because the type match is against the defined type. We do not
>> automatically infer that [1, 2, 3] co
On Fri, Jul 3, 2015 at 3:03 PM, Timo Paulssen wrote:
> but this does not
>
>> sub takes_int_array(Int @bar) { say @bar }
>> takes_int_array([1, 2, 3])
>
> because the type match is against the defined type. We do not
> automatically infer that [1, 2, 3] could be a Positional[Int].
How would one c
On Fri, Jul 3, 2015 at 2:03 PM, Timo Paulssen wrote:
> On 07/03/2015 07:20 PM, Tom Browder wrote:
>> On Fri, Jul 3, 2015 at 10:26 AM, Tom Browder wrote:
...
>> What is the proper type to use for the %hash for a more complete
>> signature in function foo1? I've tried various types such
...
> When
On 07/03/2015 07:20 PM, Tom Browder wrote:
> On Fri, Jul 3, 2015 at 10:26 AM, Tom Browder wrote:
>> While experimenting I've found the first two methods of passing a hash
>> to a subroutine work:
>>
>> # method 1
>> my %hash1;
>> foo1(%hash1);
>> say %hash1.perl;
>> sub foo1(%hash) {
>> %hash{1}
On Fri, Jul 3, 2015 at 10:26 AM, Tom Browder wrote:
> While experimenting I've found the first two methods of passing a hash
> to a subroutine work:
>
> # method 1
> my %hash1;
> foo1(%hash1);
> say %hash1.perl;
> sub foo1(%hash) {
> %hash{1} = 0;
> }
Another question on method 1 above, please:
On Jul 3, 2015 11:14 AM, "Brandon Allbery" wrote:
>
> On Fri, Jul 3, 2015 at 11:26 AM, Tom Browder
wrote:
>>
>> # method 1
...
>> foo1(%hash1);
> This is what I would naïvely expect to work in any language except Perl 5.
That comment, along with Liz's, has convinced me to use method 1 (less
typi
On Fri, Jul 3, 2015 at 11:26 AM, Tom Browder wrote:
> # method 1
> my %hash1;
> foo1(%hash1);
> say %hash1.perl;
> sub foo1(%hash) {
> %hash{1} = 0;
> }
>
This is what I would naïvely expect to work in any language except Perl 5.
> # method 2
> my %hash2;
> my $href2 = %hash2;
> foo2($href2)
> On 03 Jul 2015, at 17:26, Tom Browder wrote:
>
> While experimenting I've found the first two methods of passing a hash
> to a subroutine work:
>
> # method 1
> my %hash1;
> foo1(%hash1);
> say %hash1.perl;
> sub foo1(%hash) {
> %hash{1} = 0;
> }
>
> # method 2
> my %hash2;
> my $href2 = %ha
While experimenting I've found the first two methods of passing a hash
to a subroutine work:
# method 1
my %hash1;
foo1(%hash1);
say %hash1.perl;
sub foo1(%hash) {
%hash{1} = 0;
}
# method 2
my %hash2;
my $href2 = %hash2;
foo2($href2);
say %hash2.perl;
sub foo2($href) {
$href{1} = 0;
}
# thi
On Fri, Jul 3, 2015 at 7:40 AM, yary wrote:
>
> On Fri, Jul 3, 2015 at 8:35 AM, Tom Browder wrote:
>>
>> if $idx >= 0 {
>> ...
>>
>> Which worked also (surprisingly given S32 and your comments)!
>
>
>
> That doesn't work when the line has no comment in it, it gives an error
Oops--forgot about th
On Fri, Jul 3, 2015 at 8:35 AM, Tom Browder wrote:
> if $idx >= 0 {
> ...
>
> Which worked also (surprisingly given S32 and your comments)!
>
That doesn't work when the line has no comment in it, it gives an error
-y
On Fri, Jul 3, 2015 at 7:35 AM, Tom Browder wrote:
> On Fri, Jul 3, 2015 at 7:21 AM, yary wrote:
>> On Fri, Jul 3, 2015 at 8:07 AM, Tom Browder wrote:
> ...
So, considering all the comments and S32 wording, I suspect that this
would be sort of a "best practice" idiom:
if defined $idx {
...
Th
On Fri, Jul 3, 2015 at 7:21 AM, yary wrote:
> On Fri, Jul 3, 2015 at 8:07 AM, Tom Browder wrote:
...
I completely missed the other obvious attempt to use Perl 5ish semantics:
if $idx >= 0 {
...
Which worked also (surprisingly given S32 and your comments)!
Thanks for all the help Carl and yary
On Fri, Jul 3, 2015 at 7:27 AM, Elizabeth Mattijsen wrote:
> Hi Tom,
...
> Apart from what Carl and yary said, I would like to add that *if*
> you’re just interested in knowing whether a string starts with a
> certain substring, you can use .starts-with:
...
Thanks, Liz, Perl 6 certainly has a lo
Hi Tom,
> On 03 Jul 2015, at 14:07, Tom Browder wrote:
>
> I originally had problems with the S32 description of string function
> index. S32 says that if the substring is not found then a bare Int is
> returned which evaluates to false, otherwise an Int with the position
> of the first substrin
On Fri, Jul 3, 2015 at 8:07 AM, Tom Browder wrote:
> if $idx {
> $str = $str.substr(0, $idx);
> }
if defined $idx {
$str = $str.substr(0, $idx);
}
-y
Hi Tom,
What you're experiencing is not a bug. It's the fact that if 0 ends up
in your $idx variable, then that 0 will evaluate as False in an if
statement (or in a && operand).
But jumping ahead to what you probably *meant* to write:
if defined($idx) && $idx >= 0 {
$str = $str.substr(0, $idx)
I originally had problems with the S32 description of string function
index. S32 says that if the substring is not found then a bare Int is
returned which evaluates to false, otherwise an Int with the position
of the first substring match is returned. It goes on to say that one
should not evaluate
19 matches
Mail list logo