Welcome, I'm happy to see you here! Feel free to pick a function and add a happy example, the more the merrier!
(->
{:a [1 2 3 ] :b [4 5 6 ]}
(get :a )
(sum )
(string " is the result" ))
# -> "6 is the result"
# same as:
(string (sum (get {:a [1 2 3 ] :b [4 5 6 ]} :a ))" is the result" )
(freeze @"Ho" ) #=> "Ho"
(freeze ["Ho" ]) #=> ("Ho")
(freeze @["Ho" ]) #=> ("Ho")
(freeze @{"Ho" "Ho" }) #=> {"Ho" "Ho"}
(map type [nil true 42 [] @[] {} @{} "a" @"b" 'c :d identity (fn [])])
# => @[:nil :boolean :number :tuple :array :struct :table :string :buffer :symbol :keyword :function :function]
(some even? [1 3 5 7 11 18 ])
# =>
true
(def ds @[@{:a 1 :b 2 }
@{:a 8 :b 9 }])
(defn thrice [x ] (* x 3 ))
(update-in ds [0 :b ] thrice )
# `ds` is now
@[@{:a 1 :b 6 }
@{:a 8 :b 9 }](defn output [x ]
(case x
:a "a"
"b" ))
(output :a ) # => "a"
(output "anything else" ) # => "b" (assert :dude :what? ) # => :dude
(assert :dude :dude ) # => :dude
(assert (= :dude :what? ) "Where's my car?" )
# => error: Where's my car?
# => in _thunk [repl] (tailcall) on line 84, column 1
(assert (= :dude :dude ) "Where's my car?" ) # => true
# There is a list of formatters here: https://janet-lang.org/capi/writing-c-functions.html
(string/format "With terminal colors: %M" [:array {:key-in "struct" }]) # => "With terminal colors: (\e[33m:array\e[0m {\e[33m:key-in\e[0m \e[35m\"struct\"\e[0m})"
(table ;[:a 1 :b 2 :c 3 ])
# => @{:a 1 :b 2 :c 3}
# demo of (@ <sym>) feature
(let [content "# => label" ]
(match [:comment @{} "# => label" ]
[:comment _ (@ content )]
:found
nil ))
# => :found (map |($ {:a 7 :b 8 } ) [ keys values kvs pairs ])
# => @[ @[:a :b] @[7 8] @[:a 7 :b 8] @[(:a 7) (:b 8)] ]
(map |($ [4 5 6 ] ) [ keys values kvs pairs ])
# => @[ @[0 1 2] @[4 5 6] @[0 4 1 5 2 6] @[(0 4) (1 5) (2 6)] ]
(map |($ 'ab ) [ keys values kvs pairs ])
# => @[ @[0 1] @[97 98] @[0 97 1 98] @[(0 97) (1 98)] ]
(map |($ :ab ) [ keys values kvs pairs ])
# => @[ @[0 1] @[97 98] @[0 97 1 98] @[(0 97) (1 98)] ]
(map |($ "ab" ) [ keys values kvs pairs ])
# => @[ @[0 1] @[97 98] @[0 97 1 98] @[(0 97) (1 98)] ]
(group-by odd? [1 2 3 5 6 ])
# =>
@{false @[2 6 ] true @[1 3 5 ]}(printf "%s %s!" "Hello" "World" ) # Hello World! (map inc
(fiber/new |(each x (range 3 )
(yield x ))))
# => @[1 2 3]
# From: https://codeberg.org/veqq/janetdocs/src/commit/54a964d1a35920af2655c4932a9b51379e8b9380/main.janet#L30
# where in .env you have:
# DATABASE_URL=examples-db.sqlite3
# PORT=9025
(defn main [& args ]
(joy/db/connect (joy/env :database-url ))
(server app (joy/env :port ) "0.0.0.0" )
(joy/db/disconnect ))