Shape: Difference between revisions

From The K Language Wiki
Content added Content deleted
No edit summary
("Better category ordering, add redirects to categories, fix pseudo-adverb categories")
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{primitive|^x}}
{{primitive|^x|in=k3, kona|not=k4, 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.


'''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.
Shape is available in k3 and kona, and not available in k4, oK, ngn/k, and k9.
^(0 1 2;"ab",`c)
^(0 1 2;"ab",`c)
2 3
2 3
^(0 1 2;"abcd")
^(0 1 2;"abcd")
,2
,2

For rectangular arrays, it can be implemented as <ref>https://chat.stackexchange.com/transcript/90748?m=58570758#58570758</ref>:
d:-1_#:'*:\
d[+4 3#1]
3 4

[[Category:Verbs]]
[[Category:Operator verbs]]
[[Category:Primitives]]

Latest revision as of 06:42, 9 July 2022

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