Algo que eu sinto muita falta é o REDUCE do lisp, veja este código em LISP:
(reduce #'max (mapcar #'parse-integer (split-sequence #Space "3 42 1")))
Não existe maneira mais elegante de splitar uma string e pegar a maior dos elementos. Ruby chega quase lá:
"3 42 1".split(" ").map {|x| x.to_i }
Consigo splitar e transformar em inteiros, porém, para achar o máximo eu tenho que usar uma variável a mais e fazer um código muito mais deselegante:
lst="3 42 1".split(" ").map {|x| x.to_i }
max=-1
lst.each do |x|
if (x > max)
max = x;
end
end
print max,"n"
Uma pena.
Nenhum comentário:
Postar um comentário