shape

From The K Language Wiki
Revision as of 06:42, 9 July 2022 by Promovicz (talk | contribs) ("Better category ordering, add redirects to categories, fix pseudo-adverb categories")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Shape
^x
Supported in k3, kona
Not supported ink4, oK, ngn/k, k9

shape is a primitive that returns the list of lengths along all axes of a uniform array. For ragged arrays it returns only as many items as there are levels of uniformity.

 ^(0 1 2;"ab",`c)
2 3
 ^(0 1 2;"abcd")
,2

For rectangular arrays, it can be implemented as [1]:

 d:-1_#:'*:\
 
 d[+4 3#1]
3 4