ist der Code:Warum bekomme ich "Der Fehler trat bei der Auswertung von Null. <=>" bei Verwendung von sort_by? Dieser
xml = REXML::Document.new(data)
@contacts = Array.new
xml.elements.each('//entry') do |entry|
person = {}
person['name'] = entry.elements['title'].text
gd_email = entry.elements['gd:email']
person['email'] = gd_email.attributes['address'] if gd_email
@contacts << person
end
@contacts.sort_by { |k| k['name'] } if @contacts[0].size > 0
der Fehler:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.<=>
Fehler behoben, aber immer noch nicht sortiert – rtacconi
@rtacconi '# sort_by' sortiert das Array nicht an Ort und Stelle, sondern gibt ein neues Array zurück, das sortiert ist. Vielleicht meintest du '@contacts = @ contacts.sort_by ...' ' – Phrogz
Ja, du musst im Allgemeinen Suffix [Array Methoden] (http://ruby-doc.org/core/classes/Array.html#M002185) mit einem '!' damit sie das aktuelle Array ändern können. – david4dev