Oh. That's easy use an any junction.

say any(@objects) ~~ Bool;

On Thu, 15 Aug 2019 at 16:10, Mikkel <mikkelst...@gmail.com> wrote:

> Hi Simon
>
> That was certainly a simple way.
> But this checks for the value of True rather than the object type Bool
> right? What if I wanted to know if an Int, (with any given value) were
> among the values?
>
> Best regards
> Mikkel
>
> On Thu, 15 Aug 2019 at 16:38, Simon Proctor <simon.proc...@gmail.com>
> wrote:
>
>> The easiest option would be use the set operators. In this case (elem)
>> (or ∈) will coerce your array to a Set and then check to see if the given
>> item is in it.
>>
>> my @objects = [1, True, "string", 5, Str.new];
>> say True (elem) @objects;
>> say True ∈ @objects;
>>
>> Give True. Note Removing the True from the list and we get False so we
>> don't have to worry about the joys of truthiness it's taking your types
>> into account.
>>
>> Hope that helps.
>>
>> Simon
>>
>>
>> On Thu, 15 Aug 2019 at 15:29, Mikkel <mikkelst...@gmail.com> wrote:
>>
>>> Hello.
>>>
>>> Suppose I have an array (or should I say a positional?):
>>> my @objects = [1, True, "string", 5, Str.new];
>>> Containing different kind of objects. It could be Ints, Strs and Bools.
>>> Is there a nice way of determining if for example a Bool is present in
>>> the array, returning True or False whether the given object is present or
>>> not?
>>>
>>> Best Regards
>>> Mikkel Birkedam
>>>
>>
>>
>> --
>> Simon Proctor
>> Cognoscite aliquid novum cotidie
>>
>> http://www.khanate.co.uk/
>>
>

-- 
Simon Proctor
Cognoscite aliquid novum cotidie

http://www.khanate.co.uk/

Reply via email to