This is quite nice, though nothing to do with gerunds as such!
; ]&.":each '3';33;'9 99';12 13;1;2;'10 11 1e6'
3 33 9 99 12 13 1 2 10 11 1000000
I have been known to use ".@": - but using under only just occurred to me!
This also works:
abc =. 2345
; ]&.": each '3';33;'9 99';12 13;1;2;'10 11 1e6';'abc'
3 33 9 99 12 13 1 2 10 11 1000000 2345
though using names could prove difficult without building in some checks:
; ]&.": each '3';33;'9 99';12 13;1;2;'10 11 1e6';'def';'abc' NB. def is
undefined
3 33 9 99 12 13 1 2 10 11 1000000 2345
Checking the boxed form for empty elements might suffice.
BTW, I'm puzzled by Devon's second "result": 4 34 10 etc. Perhaps a slip with
copy&paste?
Cheers,
Mike
Sent from my iPad
> On 26 Feb 2023, at 09:48, Devon McCormick <[email protected]> wrote:
>
> If you don't want to be at the mercy of your data's ordering, you could
> selectively convert to numeric or not:
> isChar=: ' ' -: [: ({.) 0 $ ]
> ; ((]`".) @. isChar) &.> '3';33;'9 99';12 13;1;2;'10 11 1e6'
> 3 33 9 99 12 13 1 2 10 11 1000000
>> : ; ((]`".) @. isChar) &.> '3';33;'9 99';12 13;1;2;'10 11 1e6'
> 4 34 10 100 13 14 2 3 11 12 1000001
>
>> On Sat, Feb 25, 2023 at 4:39 PM Henry Rich <[email protected]> wrote:
>>
>> Now that gerund"n applies gerund cyclically, the need for the oblique
>> trick is reduced.
>>
>> Henry Rich
>>
>> On 2/25/2023 3:26 PM, [email protected] wrote:
>>>> I want to convert the second one into numerical data
>>>> Can you simplify the above expression?
>>> Applying a gerund cyclically, as asked for in the subject:
>>>
>>> ] list =. ;: 'foo 1 bar 2.17 baz 3.14'
>>> +---+-+---+----+---+----+
>>> |foo|1|bar|2.17|baz|3.14|
>>> +---+-+---+----+---+----+
>>>
>>> , ]`(".each)/. list
>>> +---+-+---+----+---+----+
>>> |foo|1|bar|2.17|baz|3.14|
>>> +---+-+---+----+---+----+
>>>
>>> (,: datatype each) , ]`(".each)/. list
>>> +-------+-------+-------+--------+-------+--------+
>>> |foo |1 |bar |2.17 |baz |3.14 |
>>> +-------+-------+-------+--------+-------+--------+
>>> |literal|boolean|literal|floating|literal|floating|
>>> +-------+-------+-------+--------+-------+--------+
>>>
>>>
>>> Obliquing over a vector is often overlooked. It picks up every item
>>> as a singleton "diagonal". The final "," is required to compensate
>>> for that.
>>>
>>> Martin Neitzel
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
>
> --
>
> Devon McCormick, CFA
>
> Quantitative Consultant
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm