Submitted by kazup in programming
bea wrote (edited )
Reply to comment by ziq_themes1 in WHAT ARE THE BENEFITS OF LEARNING JAVASCRIPT by kazup
Well... I spent the whole night learning basics of Lisp just for this.
I don't regret it though, it's a suprisingly nice language. Probably not for me to use, but I like it as a concept.
(defun my_nth (n list)
(unless (and (typep n 'integer) (>= n 0))
(error "~a is not a non-negative integer" n))
(unless (typep list 'list)
(error "~a is not a list" n))
(let ((i 0))
(loop for item in list do
(if (= i n)
(return item)
(incf i)))))
I actually don't know i how fast it is since I have no idea how to measure time/speed in Common Lisp so you'll have to do that.
Btw, your function didn't work for me. If I put in a list as the second argument it complains on (> n list)
that the list isn't a number and If it's a number lower than n
it complains on (cdr nl)
that it's not a list :)
[deleted] wrote (edited )
bea wrote
Umm... now you are returning the list from cdr
. You should change the last nl
to (car nl)
to return a proper result.
Viewing a single comment thread. View all comments