Le mer. 19 déc. 2018 à 08:57, ToddAndMargo via perl6-users
<perl6-us...@perl.org <mailto:perl6-us...@perl.org>> a écrit :
>> On Tue, Dec 18, 2018 at 10:49 PM ToddAndMargo via perl6-users
>> <perl6-us...@perl.org <mailto:perl6-us...@perl.org>
<mailto:perl6-us...@perl.org <mailto:perl6-us...@perl.org>>> wrote:
>>
>> Hi All,
>>
>> Where is my booboo?
>>
>> $ p6 'my$x="abcd"; if $x.contains("b" && not "q") {say
"y"}else{say
>> "n"};'
>>
>> n
>>
>>
>> In the mean time, I will ue
>> if $x.contains("b") && not $x.contains( "q" )
>>
>>
>> Many thanks,
>> -T
On 12/18/18 4:13 PM, Ralph Mellor wrote:
> .contains tests whether its invocant, treated as a string,
contains its
> argument, treated as a string.
>
> The argument you've given to .contains is:
>
> "b" && not "q".
>
> That's not a string.
>
> Here's one option:
>
> my$x="abcd"; if $x.contains("b") && not $x.contains("q") {say
> "y"}else{say "n"};
>
Hi Ralph,
That was my work around.
The reason I asked the question was the following:
$ p6 'my$x="abcd"; if $x.contains("b" & "d") {say "y"}else{say "n"};'
y
$ p6 'my$x="abcd"; if $x.contains("b" & "e") {say "y"}else{say "n"};'
n
So it seemed to me that the following should also work, which
it does not:
Should be "y"
$ p6 'my$x="abcd"; if $x.contains("b" & not "e") {say "y"}else{say
"n"};'
n
Should be "n" and it is
$ p6 'my$x="abcd"; if $x.contains("b" & not "d") {say "y"}else{say
"n"};'
n
I think maybe I am pushing the limits. Perl has 101 way of
doing everything. It think I am pushing 102.
-T
On 12/19/18 12:37 AM, Laurent Rosenfeld via perl6-users wrote:
Hi Todd,
first, please don't mix up the && Boolean operator and infix &, an /all/
junction operator.
Also consider the difference between the following code snippets:
my$x="abcd"; if $x.contains(not "e") {say "y"}else{say "n"};
n
my$x="abcd"; if $x.contains(none "e") {say "y"}else{say "n"};
y
Or between these:
my$x="abcd"; if $x.contains("b" & (not "d")) {say "y"}else{say "n"};
n
my$x="abcd"; if $x.contains("b" & (none "e")) {say "y"}else{say "n"};
y
HTH, Laurent.
"none" sweet. I did not know I could do that. Thank you!
Got to get my "not"'s straightened out too.