在Ruby 1.9中:可以。在Ruby 1.8中:可能不行。 Set 在内部使用了一个Hash;由于在1.9中哈希是按插入顺序排序的,所以你可以放心使用! 正如mu is too short指出的,这是一种实现细节,未来可能会发生变化(尽管不太可能)。值得庆幸的是,Set的当前实现是纯ruby实现,如果需要的话,将来可以改为OrderedSet。