nth function added to stdlib, doc updates

This commit is contained in:
VaclavT 2021-03-02 23:11:57 +01:00
parent 8586a66285
commit 3868a32168
4 changed files with 17 additions and 34 deletions

View File

@ -85,3 +85,8 @@ https://stackoverflow.com/questions/478898/how-do-i-execute-a-command-and-get-th
https://www.skysilk.com/cloud/pricing/#classId=Standard&section=2
https://contabo.com/en/
https://www.hetzner.com/de/
#### Editor
https://viewsourcecode.org/snaptoken/kilo/07.syntaxHighlighting.html
http://antirez.com/news/108
https://github.com/antirez/kilo

View File

@ -1,32 +1,5 @@
(print "Debug starts")
; add support for ()
(print "(member '(1 2 3) 1:" (member '(1 2 3) 1))
(print "(member '(1 2 3) 3:" (member '(1 2 3) 3))
(print "(member '(1 2 3) 30:" (member '(1 2 3) 30))
(print "result of (and (> 2 1) (> 2 1)): " (and (> 2 1) (> 2 1)))
(print "result of (or (> 2 1) (> 2 1)): " (or (> 2 1) (> 2 1)))
(print "result of (and (> 2 1) (> 1 2)): " (and (> 2 1) (> 1 2)))
(print "result of (or (> 2 1) (> 1 2)): " (or (> 2 1) (> 1 2)))
(print "result of (and (> 1 1) (> 1 2)): " (and (> 1 1) (> 1 2)))
(print "result of (or (> 1 1) (> 2 1)): " (or (> 1 1) (> 1 2)))
;; (print (member '(1 2 3) 1))
;; (print (member '(1 2 3) 10))
(print (string-rpad "rpad0123456789" 10 "x"))
(print (string-rpad "rpad " 10 "x"))
(print (string-lpad "lpad" 10 "x"))
(print nil)
(print ())
(print (make-list 5))
(print "Debug ends")

View File

@ -34,16 +34,18 @@
|`(remove list index)`|Remove a value at an index from a list|List with element removed|
|`(len list)`|Get the length of a list|list length|
|`(push list element)`|Add an item to the end of a list|new list with element added|
|`(pop ..)`|||
|`(pop list)`|Returns last element of list|Last element|
|`(head list)`|Returns first element of a list|First element|
|`(tail list)`|Return all elements of list except first one|List without first element|
|`(first ..)`|||
|`(last ..)`|||
|`(range ..)`|||
|`(first list)`|Returns first element of a list|First element|
|`(last list)`|Returns last element of list|Last element|
|`(range low high)`|Returns list with elements in range low .. high|`(range 1 5) => (1 2 3 4)`|
|`(member list item)`|||
|`(map ..)`|||
|`(filter ..)`|`(filter (lambda (x) (> x 2)) '(1 2 3 4 5)) => (3 4 5)`||
|`(reduce ..)`|||
|`(make-list len)`|Return list with len nil elements|`(make-list 3) => (nil nil nil)`|
|`(make-list-of len value)`|||
|`(map ..)`||`(map (lambda (x) (+ x 10)) '(1 2 3 4 5 6)) => (11 12 13 14 15 16)`|
|`(filter lambda list)`||`(filter (lambda (x) (> x 2)) '(1 2 3 4 5)) => (3 4 5)`|
|`(reduce lambda acumulator list)`||`>>> (reduce (lambda (x y) (+ (* x 10) y)) 0 '(1 2 3 4)) => 1234`|
|`(exit ..)`|||
|`(quit ..)`|||
|`(print ..)`|||

View File

@ -49,6 +49,9 @@
; return fifth element of list
(defun fifth (l) (index l 4))
; return nth element of list, indexing from 0
(defun nth (i l) (index l i))
; return 1 when list contains item otherwise 0
(defun member (lst itm)
(do