ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: 05 Aug 2007, 13:45 
Offline
Interpreter
Benutzeravatar

Registriert: 03 Jul 2006, 14:53
Beiträge: 4872
Wohnort: RLP
Hui, dann muss ich als ausgeprägter Herdenfeind ja mal zu irgendwas anderem wechseln ;).


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 06 Aug 2007, 10:22 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
WoNáDo hat geschrieben:
...da ist ein Fehler drin, der irritieren kann, weil praktisch kein weiterer Kommentar steht.

Ich habe gerade eine Mail bekommen und nachgeschaut - es ist korrigiert.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 14:30 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Es ist gerade das October 07 update für Changes in Ruby 1.9 erschienen.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 14:48 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
:D Wow :D

DAS nenne ich mal eine wichtige Änderung.
eigenclass hat geschrieben:
Strings and symbols
Encoding-awareness; it has finally happened.

String methods operate on chars and are thus encoding-aware. These are some of the affected methods:

* ==
* [] []=
* each_line, each_char
* hash
* inspect
* length
* ljust, rjust, center
* reverse
* split
* strip!, strip, lstrip, rstrip
* succ
* upcase, downcase, capitalize, swapcase

The length field in the format specifier for printf-like methods also operates on a character basis.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 19:51 
Offline
ri
Benutzeravatar

Registriert: 02 Jun 2006, 23:18
Beiträge: 702
WoNáDo hat geschrieben:
:D Wow :D

DAS nenne ich mal eine wichtige Änderung.

Juchu :D Ruby wird langsam erwachsen :)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 21:13 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Ja, aber ich bin jetzt etwas durcheinander. Zuerst wurde String#each und module Enumerable aus der Klasse String entfernt. Das machte für mich auch Sinn, weil String#each ja Zeilenweise arbeitete, String-Objekte aber aus Zeichen bestehen. Da sich aber Ruby bisher nicht um das Encoding kümmerte, also nur Bytes betrachtete, liess sich String#each nicht wirklich adäquat implementieren (=liefere den String zeichenweise).

Nun hat sich das aber geändert - gleichzeitig ist aber String#each und module Enumerable nicht mehr in der Klasse String vorhanden, obwohl es jetzt wirklich richtig sinnvoll wäre.

Ich habe mal eine diesbezügliche Anfrage bei Ruby-Core gestellt. Mal sehen was dazu gesagt wird.

Glücklicherweise kann man sich im Notfall die Klasse String ja auch selber erweitern - muss dabei aber hoffen, dass sich das dann nicht mit anderen Sachen beisst.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 21:38 
Offline
ri
Benutzeravatar

Registriert: 02 Jun 2006, 23:18
Beiträge: 702
WoNáDo hat geschrieben:
Nun hat sich das aber geändert - gleichzeitig ist aber String#each und module Enumerable nicht mehr in der Klasse String vorhanden, obwohl es jetzt wirklich richtig sinnvoll wäre.

Dafür gibt es doch jetzt die neue Methode each_char, wenn ich das richtig verstanden habe.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 21:44 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
reima hat geschrieben:
Dafür gibt es doch jetzt die neue Methode each_char, wenn ich das richtig verstanden habe.

Ja - nur hilft das bezüglich Enumerable nicht. Das Modul verlangt von der Klasse, die es included, dass sie eine Methode each bereitstellt.

Mir geht es in erster Linie um dieses Modul, denn die Methoden von Enumerable gehören zu den wichtigsten Kernelementen von Ruby.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 21:56 
Offline
ri
Benutzeravatar

Registriert: 02 Jun 2006, 23:18
Beiträge: 702
WoNáDo hat geschrieben:
Ja - nur hilft das bezüglich Enumerable nicht. Das Modul verlangt von der Klasse, die es included, dass sie eine Methode each bereitstellt.

Hm… wie wäre es dann mit str.each_char.each { |char| … } bzw. str.each_line.each { |line| … }? Müsste meinem Verständnis nach mit der aktuellen 1.9 so laufen. Das Problem wird vermutlich sein, dass bei str.each nicht sofort klar ist, was jetzt gemeint ist (über die Zeilen oder über die Zeichen iterieren), und die Methode deswegen ganz rausgelassen wurde.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 12 Okt 2007, 23:19 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Ich habe gerade Antworten in Ruby Core gelesen, die sagen, dass es wohl zu sehr viel Verwirrung geführt hätte, wenn String#each mit völlig anderer Bedeutung beibehalten worden wäre. Das kann ich verstehen.

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 01 Nov 2007, 11:15 
Offline
Interpreter

Registriert: 29 Okt 2002, 14:25
Beiträge: 2137
Es gibt weitere Neuigkeiten / Infos von Mauricio Fernandez bzgl. der Änderungen in Ruby 1.9:
http://eigenclass.org/hiki/Changes-in-Ruby-1.9-update-7

und ganz frisch:
http://eigenclass.org/hiki/withdrawn-ex ... y-features

Gruß
janfri

_________________
Ruby-Mine

"Simplicity is the ultimate sophistication." Leonardo da Vinci


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02 Nov 2007, 01:17 
Offline
Interpreter
Benutzeravatar

Registriert: 21 Mai 2007, 11:30
Beiträge: 1283
Wohnort: Thüringen
Hm, wirkt sich das auch auf Module.nesting aus? Ich hab mich nämlich immer geärgert, das diese Methode das nesting in dem Ort anzeigt, wo die Methodenzeile steht, statt an dem Ort, wo die Methode ausgeführt wird.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02 Nov 2007, 01:56 
Offline
Interpreter

Registriert: 15 Mär 2005, 19:26
Beiträge: 6142
Wohnort: Karlsruhe
Kai hat geschrieben:
Hm, wirkt sich das auch auf Module.nesting aus? Ich hab mich nämlich immer geärgert, das diese Methode das nesting in dem Ort anzeigt, wo die Methodenzeile steht, statt an dem Ort, wo die Methode ausgeführt wird.

Ich bin mir nicht sicher, ob ich Dich richtig verstehe...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
irb(main):007:0> class Otto
irb(main):008:1> def huhu
irb(main):009:2> p Module.nesting
irb(main):010:2> end
irb(main):011:1> end
=> nil
irb(main):012:0> class Paul
irb(main):013:1> def haha
irb(main):014:2> Otto.new.huhu
irb(main):015:2> end
irb(main):016:1> end
=> nil
irb(main):017:0> Paul.new.haha
[Otto]
=> nil

Du erwartest hier was anderes?

_________________
WoNáDo.set_state!(:retired)


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02 Nov 2007, 15:41 
Offline
Interpreter
Benutzeravatar

Registriert: 21 Mai 2007, 11:30
Beiträge: 1283
Wohnort: Thüringen
Hm, das ist tatsächlich immer etwas Ansichtssache.


1
2
3
4
5
6
7
8
9
10
11
class A
def nesting
Module.nesting
end
end
class B < A
end
p B.new.nesting #=> A statt B
class C
print A.instance_eval {Module.nesting} #=> C statt A
end


Mir ist aber eben eine Alternative aufgefallen. Module#name gibt nicht den Namen des Moduls, sondern auch sein Nesting aus. Von daher kann man das Nesting einer Klasse ja einfach parsen.


Nach oben
 Profil  
 
BeitragVerfasst: 03 Mai 2010, 19:54 
Offline
Rubyist
Benutzeravatar

Registriert: 04 Jun 2008, 22:03
Beiträge: 394
ich finde man sollte mal wieder den start post erneuern... zb das symbol jetzt kind von string ist stimmt nicht


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: