ruby, python, web December 2, 2005 11:43 pm (Save post)
Come si fa a fare una funzione per mettere immagini casuali in una pagina web?
La prima risposta è, in 7 righe , con rails.
Ma l’autore è rubyista novellino, perché non sa che è possibile usare lo shell globbing in stile ZSH con la classe Dir di ruby, scrivendo quindi codice come questo:
def random_image
files = Dir[\"#{path}/*.{gif,png,jpg}\"]
files[rand(files.length)]
end
Che è abbastanza notevole, imho.
D’altronde Valentino ha una soluzione in python che ha più caratteri ma una linea in meno.
Devo fare un port del modulo random di python in ruby un giorno o l’altro.
Certo, mi viene da chiedermi quanto possa venire lunga una cosa in Java e php.


ciao riffraff, ho messo giu` velocemente qualcosa:
function rotate() {
$globs = array(’*.jpg’, ‘*.gif’, ‘*.png’);
$files = array();
foreach($globs as $el) {
$files = array_merge($files, glob($el));
}
$el = array_rand($files);
return $files[$el];
}
9 linee, glob non supporta (almeno io non ho capito come — pattern multipli)
niente di spettacolare e penso si possa fare di meglio
Comment by kpanic — December 3, 2005 @ 12:42 am
ah, interessante, grazie
Comment by Administrator — December 3, 2005 @ 11:03 am