Janet 1.17.1-e1c4fc2 Documentation
(Other Versions:
1.16.1
1.15.0
1.13.1
1.12.2
1.11.1
1.10.1
1.9.1
1.8.1
1.7.0
1.6.0
1.5.1
1.5.0
1.4.0
1.3.1
)
Destructuring
Janet uses the get
function to retrieve values from inside data
structures. In many cases, however, you do not need the get
function at
all. Janet supports destructuring, which means both the def
and
var
special forms can extract values from inside structures themselves.
# Without destructuring, we might do
(def my-array @[:mary :had :a :little :lamb])
(def lamb (get my-array 4))
(print lamb) # Prints :lamb
# Now, with destructuring,
(def [_ _ _ _ lamb] my-array)
(print lamb) # Again, prints :lamb
# Destructuring works with tables as well
(def person @{:name "Bob Dylan" :age 77})
(def
{:name person-name
:age person-age} person)
(print person-name) # Prints "Bob Dylan"
(print person-age) # Prints 77
Destructuring works in many places in Janet, including let
expressions,
function parameters, and var
. It is a useful shorthand for extracting
values from data structures and is the recommended way to get values out of
small structures.