Greatest element of a list: Difference between revisions

Content added Content deleted
m (→‎{{header|Phix}}: added syntax colouring, marked p2js compatible)
(Emacs Lisp: Rewrite solution, provide built-ins)
Line 1,673: Line 1,673:


=={{header|Emacs Lisp}}==
=={{header|Emacs Lisp}}==

<lang lisp>(defun max (first-arg &rest more-args)
<lang lisp>(defun find-maximum (items)
(if more-args
(let ((max-rest (apply 'max more-args)))
(let (max)
(dolist (item items)
(if (> first-arg max-rest)
(when (or (not max) (> item max))
first-arg
max-rest))
(setq max item)))
first-arg))</lang>
max))

Example use:
(find-maximum '(2 7 5)) ;=> 7</lang>
<lang lisp>(max 2 7 5)

7</lang>
Alternative Built-In:
Built-in:

<lang lisp>
(cl-loop for el in '(2 7 5) maximize el)
<lang lisp>(max '(2 7 5)) ;=> 7</lang>

</lang>
{{libheader|cl-lib}}

<lang lisp>(cl-loop for el in '(2 7 5) maximize el) ;=> 7
(cl-reduce #'max '(2 7 5)) ;=> 7</lang>

{{libheader|seq.el}}
<lang lisp>(seq-max '(2 7 5)) ;=> 7</lang>


=={{header|Erlang}}==
=={{header|Erlang}}==