Diskussion:Ruby (Programmiersprache)
Bsp: Datei Zeile für Zeile einlesen
Wie sieht ein Beispiel aus, das eine Datei zeile für Zeile einliest? Im On-Line-Ruby-Buch gibt es nichts derartiges. --HHK 23:42, 14. Sep 2003 (CEST)
- wer lesen kann ist klar im vorteil - siehe programmierbeispiele, das letzte.. -- ∂ 10:26, 16. Sep 2004 (CEST)
# Gibt die Datei text.txt Zeile für Zeile auf der Standardausgabe (Bildschirm) aus File.open("text.txt") do |file| file.each_line do |line| puts line end end
- sehe ich auch so, drum sollte man besser lesen, bevor man den Mund aufmacht... (das hat zu dem Zeitpunkt nämlich noch nicht drin gestanden hat, siehe dazu Versionen) --Milanx 20:58, 16. Sep 2004 (CEST)
Keine Doppelspurigkeiten?
Abgesehen davon gibt es aber sozusagen keine Doppelspurigkeiten wie in Perl.
- Was soll das heissen? --zeno 09:50, 10. Okt 2005 (CEST)
- Vermutlich ist $_ und $1-$9 gemeint. Aber dann versteh ich den Satz nicht, weil Ruby durchaus ein $_ hat. --LuckyStarr 21:45, 11. Nov 2005 (CET)
Unicode-Support
Der Unicode-Support von Ruby sei nur begrenzt vorhanden.
Funktionier ein Bsp. wie das folgende?
>> "abcαβγ".index("α") => 3
Was muss dabei beachtet werden (Einstellungen)?
- Ja tut es, Wenn auch noch mit etwas Handarbeit. Aber bei der nächsten Version wird alles besser (hoff ich und glaube 'Matz' mal(http://redhanded.hobix.com/inspect/futurismUnicodeInRuby.html) :- )
$KCODE = "u" require 'jcode' # bzw. statt jcode vielleicht unicode(sihe http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/197946) puts "abcαβγ".index("α") =>3
- --KleinerPinguin 12:58, 27. Jul 2006 (CEST)
- Relativ neu ist diese UTF Bibliothek: http://redhanded.hobix.com/inspect/nikolaiSUtf8LibIsAllReady.html. Funktioniert schon ziemlich gut. Daniel Bovensiepen 15:21, 27. Jul 2006 (CEST)
- --KleinerPinguin 12:58, 27. Jul 2006 (CEST)
Code-Bsp: Assoziativer Array / Hash / Dictionary
Der Artikel erwähnt, dass Ruby Konzepte von Smalltalk übernimmt. Wie sieht der Code für die in Smalltalk häufig verwendete Datenstruktur des Dictionary aus?
Smalltalk:
d := Dictionary new. d at: 'grün' put: 'green'. d at: 'blau' put: 'blue'. d at: 'rot' put: 'red'. Transcript show: (d at: 'blau').
Ruby
???
Meinst Du das?
d = Hash.new d['grün'] = 'green' d['blau'] = 'blue' d['rot'] = 'red' puts d['blau']
kann auch so geschrieben werden:
d = { 'grün' => 'green', 'blau' => 'blue', 'rot' => 'red' } puts d['blau']
Das wirkt eher wie von Perl als von Smalltalk übernommen. Vergleich:
%hash = ( 'grün' => 'green', blau => 'blue', rot => 'red' };
bzw.
my %hash; $hash{ 'grün' } = 'green'; ...
-- 84.143.62.244 02:19, 16. Mär 2006 (CET)
Bezgüglich Weblinks
Ich habe gerade die Änderungen teilweise rückgängig gemacht. Grund ist folgender: Ich sehe zwar ein, dass hier teilweise zuviele Links drinne stehen aber die Löschung war wohl ziemlich planlos. Wenn ich mir einen Lesenswerten Artikel wie Perl anschaue, finde ich dort auch einen Link zu einem Userforum. Und da es sich bei rubyforen.de um das größte deutsche Rubyforum handelt sollte dieser Link hier auch erscheinen. Weiterhin verstehe ich nicht wieso man Why's ergreifenden Guide rausschmeißt und die ganzen anderen halbfertigen Einführungen drinne lassen kann. Es existieren genau zwei Ruby Bücher die in der Community unumstritten als gut angesehen werden. Da wäre zum einen das PickAxe und zum anderen der Poignant Guide. Und wenn der Benutzer der für die Löschung verantwortlich war, glaubt das es sich bei der Seite um eine Werbeschleuder handelt, würde ich Ihm dringend nochmal empfehlen sich die Seite erneut anzuschauen. Bei dem dritten Link, den ich wieder eingefügt habe, handelt es sich um eine elegante Möglichkeit Ruby direkteinmal auszuprobieren. Wenn ich ohne Vorwissen diesen Artikel lese, würde ich es schon begrüßen wenn ich die Codebeispiele direkt mal ausprobieren kann ohne gleich den Interpreter zu installieren. Sollte der User der die Löschung durchgeführt hat eine Begründung für diese Aussonderung haben so bitte ich um eine Info diesbezüglich. Daniel Bovensiepen 20:55, 13. Apr 2006 (CEST)
- Nützliche Links gehören in ein Webverzeichnis, nur enzyklopädisch relevante Information, die über das im Artikel gebotene hinausgeht, gehören in die Wikipedia. Welche Information bieten denn Foren und Portale? Heute dieses und morgen jenes.
- Die Popups sind übrigens weg. Hmmm.
- Die Links im Einzelnen:
- http://poignantguide.net/ruby/ – ein sarkastisches Ruby-Lehrbuch (englisch)
- Solange Sarkismus nicht eine definierende Eigenschaft von Ruby ist, würde ich ein nicht-sarkastisches Lehrbuch vorziehen
- Ich denke es ist auch mal nett ein etwas anderes Buch ueber so ein Thema zu lesen, und es ist einfach *gut*.
- http://tryruby.hobix.com/ - Ruby im Browser ausprobieren (englisch)
- Nützlich aber nicht enzyklooädisch. Wir sind kein Online-Kurs.
- http://www.rubyforen.de – Deutsches Forum zu Ruby
- Klassischer Forenlink, so etwas fliegt immer raus (Wikipedia:Verlinken)
- http://www.ruby.ch/de/rubymain.shtml – RubyChannel
- Sehr, sehr dünn -- wie die Site auch selber zugibt.
- http://www.cenophobie.com/ruby/ – Ein Ruby Cheatsheet
- Muss ich da was zu sagen?
- http://www.wikidorf.de/reintechnisch/Inhalt/EinladungInRuby
- Sehr kurzes Tutorial, wenig Hintergrundinformationen
- http://ruby-tutorial.gogobsd.de/ – Eine einfache Einführung in Ruby
- Noch ein Tutorial
- http://poignantguide.net/ruby/ – ein sarkastisches Ruby-Lehrbuch (englisch)
- Aus relativ einsichtigen Gründen akzeptabel finde ich:
- http://www.ruby-lang.org/en/ – Ruby-Homepage (Englisch)
- http://www.rubycentral.com/faq/rubyfaqall.html – Ausführliches FAQ, auf Englisch
- http://www.rubygarden.org/ – Ruby Garden
- Den Rest ersetze ich jetzt durch den Link zur deutschen dmoz-Kategorie, das ist zwar auch nicht die Reine Lehre, aber eine gängige pragmatische Lösung.
- Pjacobi 01:36, 14. Apr 2006 (CEST)
- Hi Pjacobi. Danke für diese Informationen. Ich selbst habe nicht gewusst, dass in der Wikipedia ein solch strikter Vorhalt gegen Community Portale besteht. Da ich bei anderen Artikeln des öfteren solche Links vorfinde, hat mich deine Löschung halt nur ein wenig verwirrt. Ich werde den Link zum Ruby Garden auch noch raushauen da eine der Vorschriften ja auh heißte 'Bitte vom Feinsten' und das kann man ja von einer Seite kaum sagen, dessen letzte Aktualisierung knapp ein Jahr her ist. Danke aufjedenfall für die Infos, ich hatte mir die Richtlinien von der Wikipedia zwar bereits durchgelesen aber scheinbar die wichtigen Punkte übersehen (-: Daniel Bovensiepen 01:56, 14. Apr 2006 (CEST)
ungetype Variablen? Wohl eher dynamisch typisiert
Hallo zusammen, es wurde gerade das Merkmal 'dynamisch typisiert' in 'untypisierte Variablen' von Benutzer:D geändert. Ich würde gerne Wissen wie das gemeint ist? In Ruby gibt es keine Variablen im eigentlichen Sinne. Es gibt nur Referenzen auf Objekte. Und diese Referenzen sind typisiert. Man kann zu jeder Zeit über :class den 'Typ' herausfinden. Das besondere ist halt das dieser Typ geändert werden kann. Bitte klärt mich auf wie dieser Wortlaut zu verstehen ist. Daniel Bovensiepen 11:49, 25. Apr 2006 (CEST)
- Ich glaube mit 'untypisierte Variablen' soll zum Ausdruck gebracht werden, dass es keine statische Typsicherheit gibt, d.h. eine Typisierung, die bereits zur Übersetzungszeit validiert wird. Zur Laufzeit haben die Verweise natürlich Typen. Insgesamt würde ich auch eher die Bezeichnung dynamische Typisierung bevorzugen. So stehts auch im englischen Artikel. Ein Verweis auf Duck Typing wäre an der Stelle wohl auch nicht schlecht. --Sprezz 12:28, 25. Apr 2006 (CEST)
- Hi Sprezz, sehe ich genauso. Duck Typing könnte man natürlich noch als zusätzlichen Punkt aufnehmen. Ich warte jetzt noch ein wenig bis ich die Änderung vornehme. Ich hoffe ja mal, dass der Benutzer:D nochmal vorbeischaut, eventuell hat er noch einen anderen Beweggrund. Daniel Bovensiepen 23:46, 25. Apr 2006 (CEST)
- Da der Benutzer:D keine Begründung abgeliefert hat, habe ich nun die dynamische Typisierung wieder aufgenommen. Diesmal mit dem Hinweis auf Duck Typing. Dies sollte hoffentlich verständlicher sein. Daniel Bovensiepen 22:26, 29. Apr 2006 (CEST)
- Finde ich gut. Gruß --Sprezz 00:47, 30. Apr 2006 (CEST)
Artikel Redesign
Hallo zusammen, ich habe Interesse diesen Artikel komplett zu überarbeiten. Eine erste Version existiert bereits. Wenn es strukturelle Änderungswünsche gibt, sind sie dort gerne gesehen. Ansonsten würde ich in nächster Zeit diesen Artikel hier ersetzen. Daniel Bovensiepen 15:41, 21. Jul 2006 (CEST)
- Da sich in den letzten zwei Wochen niemand gemeldet hat, habe ich den Artikel so ebend komplett ersetzt. Die aktuelle Version wurde bereits von mehreren Leute quergelesen, es schadet natürlich nix wenn trotzdem der eine oder andere nochmal drüber schaut. Wenn es aufeinmal doch Gegenstimmen gegen die neue Version geben sollte, bitte melden Daniel Bovensiepen 15:48, 7. Aug 2006 (CEST)
- Hab mich mal der Kommasetzung angenommen ;)--BeatePaland 22:39, 8. Aug 2006 (CEST)
- Echt verrrückt wieviele Kommas man in der deutschen Sprache vergessen kann (-: Daniel Bovensiepen 00:59, 9. Aug 2006 (CEST)
- Hab mich mal der Kommasetzung angenommen ;)--BeatePaland 22:39, 8. Aug 2006 (CEST)
Ihr solltet am Ende nochmals wiederholen, wer die Sprache entwickelt hat und wo sie populär ist; das habe ich nach den vorherigen Doppelnennungen bereits wieder vergessen ;) --Sanoj :)~ 19:43, 9. Aug 2006 (CEST)
Anpassung von Duck Typing
Es wurde ebend folgender Text für den Bereich Duck Typing eingefügt: Ruby ist dynamisch und stark getypt, genauer ist es "duck typed", duck-getypt. Eine Variable kann somit Objekte beliebiger Klasse halten. Bei einem Aufruf wird zur Laufzeit der Typ bestimmt und überprüft, ob die Ausführung möglich ist. Hierbei wird die Introspektion von Ruby eingesetzt, um Objekte auf Kompatibilität zu überprüfen. Auf Basis dieses Paradigmas können Methoden geschrieben werden, die mit Objekten von unterschiedlichen Klassen kompatibel sind:
Ich hätte nun ein paar Fragen. Erstens würde ich gerne wissen wieso der erste Teil (welcher ersetzt wurde) als Halbwahrheit angesehen wird. Zweitens ist Ruby nicht von Haus aus duck-getypt. Duck Typing ist nur ein Paradigma welches in Ruby einen Namen erhalten hat und bei Bedarf eingesetzt werden kann. Im Allgemein hört sich die neue Formulierung so an als ob Ruby das ganze Duck Typing + Reflektion zur Überprüfung selbstständig macht. Daniel Bovensiepen 23:26, 9. Aug 2006 (CEST)