Script-Tip: Arrays
In unserem heutigen Script-Tip wollen wir euch zeigen wie man Arrays nach zufälliger Reichenfolge mischt, das Element mit dem größten/kleinsten Wert incl Index raussucht und den Durchschnittswert aller Elemente herausfindet.
Als erstes ein Beispiel wie man die Elemente nach zufälliger Reichenfolge mischen kann:
[1,2,3,4,5,6,7,8,9].shuffle
# => [3, 2, 5, 7, 4, 6, 1, 9, 8]
# Bitte beachtet, dass dies erst ab Ruby Version 1.8.7 unterstützt wird.
# Falls ihr noch mit einer älteren Version arbeitet/arbeiten müsst,
# könnt ihr auch auf andere Weise eure Arrays "mischen"
[1,2,3,4,5,6,7,8,9].sort_by{ rand }
# => [4, 7, 9, 6, 1, 5, 3, 8, 2]
Nun ein Beispiel wie ihr den größten/kleinsten Wert in einem Array inclusive dem Index herausfinden könnt:
# Ruby bringt bereits alles mit um die gesuchten Werte # zu ermitteln: min und max # Den größten Wert incl. Index finden... [7,5,10,9,6,8].each_with_index.max # => [10, 2] # Den kleinsten Wert incl. Index finden... [7,5,10,9,6,8].each_with_index.min # => [5, 1]
Als letzter Arry-Script-Tip noch ein paar Beispiele um den Durchschnittswert eines gesamten Arrays herauszufinden:
arr = [9,8,5,2,8,7]
arr.inject(:+).to_f / arr.size # => 6.5
# oder
arr.instance_eval{inject(&:+).to_f / length}
# oder
arr.inject{ |r, x| r + x }.to_f / arr.size
# oder
arr.inject(0.0){ |r, x| r + x } / arr.size
# oder
class Array
def gesamt
inject(0.0) { |erg, el| erg + el }
end
def durchschnitt
gesamt / size
end
end
arr.durchschnitt
Eingestellt am 04.12.2009 um 08:00
Kategorie: Tutorials
Suchen auf rubyonrails.de
Tags
2.0 ActiveRecord Ajax Authentication Buch Capistrano Controller Enterprise Event Formulare Gewinnspiel Grundlagen IDE irb jQuery Kochbuch Konferenz MySQL OReilly Passenger Phusion Plugin PragProgs Rails Rails 3 Rails 3.1 RailsWayCon Release Release Candidate Routing Ruby RubyGems rubyonrails.de Ryan Bates Scaffolding Screencast Script-Tip Security Test Tools Tutorial Upgrade Video Views WindowsAktuelle Artikel
- Screencast: JSON Dokumente mit Jbuilder erstellen
- Rails 3.2.1 veröffentlicht
- Screencast: Upgrade auf Rails 3.2
- Ruby on Rails 3.2
- Screencast: Private Pub für Realtime-Events
- Screencast: Pretty URLs mit FriendlyId
- Screencast: HTML Emails mit Rails verschicken
- Screencast: Einstieg in die Rails-Entwicklung
- Frohe Weihnachten!
- Screencast: Arbeit an der Konsole mit ZSH
Artikel Archiv
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- May 2009
- April 2009
- March 2009
- February 2009
- December 2008
- November 2008
- August 2008
- July 2008
- June 2008
- May 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
Aktuelle Rails Version + Abhängigkeiten:
Gem rails-3.0.0actionmailer (= 3.0.0, runtime)
actionpack (= 3.0.0, runtime)
activerecord (= 3.0.0, runtime)
activeresource (= 3.0.0, runtime)
activesupport (= 3.0.0, runtime)
bundler (~> 1.0.0, runtime)
railties (= 3.0.0, runtime)
Rails auf Rubyforge
Rails auf Github
