【发布时间】:2012-02-01 22:23:31
【问题描述】:
假设我有一个名为 Person 的类,它包含诸如姓氏、名字、地址等内容。
我还有一个 Person 对象的哈希表,需要按姓氏和名字排序。 我知道 sort_by 不会永久更改哈希,这很好,我只需要按该顺序打印。目前,我正在尝试使用以下方法进行排序/打印:
@hash.sort_by {|a,b| a <=> b}.each { |person| puts person.last}
我已重载 运算符以按最后/第一个排序,但实际上似乎没有任何排序。 puts 只是按照哈希的原始顺序输出。我花了整整 4 天的时间来解决这个问题(这是一项学校作业,也是我的第一个 Ruby 程序)。有任何想法吗?我确信这很容易,但我很难让我的大脑摆脱 C++ 的思维方式。
【问题讨论】:
标签: ruby sorting object hash attributes