Ruby中Hash按照自然順序輸出

2021-08-30 23:27:05 字數 573 閱讀 9016

本來打算按照複製的順序輸出,但是結果出乎預料。查了一下,hash本身就是無序的

之後又看到了日本人的一篇帖子

[url]

ruby1.8 以下,hash的順序是不固定的

h = hash.new

h[:c] = 'c'

h[:b] = 'b'

h[:a] = 'a'

h.each_key do |k|

p kend

#=> :c

#=> :a

#=> :b

這裡沒有按照期望的c、b、a的順序輸出,不過可以借助rails的面封裝的 activesupport::orderedhash 來實現

h = activesupport::orderedhash.new

h[:c] = 'c'

h[:b] = 'b'

h[:a] = 'a'

h.each_key do |k|

p kend

#=> :c

#=> :b

#=> :a

Mysql select 按照自定義順序排序

這周遇到了乙個新的需求,為我們的使用者在可用狀態之外,再增加乙個狀態,叫做停用。然後使用者列表頁的排序按照先按照可用,後停用。在這兩個排序中,再按照時間順序倒敘。對於增加乙個狀態而言,我們需要在對應的資料庫表中新填乙個字段user status,用來描述使用者所處狀態。考慮到使用者除了正常 可用 狀...

將某個資料庫表字段按照自然順序賦值排序

現有一張表space user,表中有個字段priority,該字段的順序是亂的,我想把該字段重新排序,mysql資料庫的sql語句如下 update space user target,select rowno rowno 1 as rowno,a.from select from space u...

python字典實現按照自定義順序排序

還是對於python字典理解不透徹,試圖通過sort來給python的key指定順序,幾經試驗,仍然得不到想要的效果,後來一想,python的字典不是本來就無序的麼?老王python的文章裡這樣寫 鏈結 如果把python列表做為一種有序的物件集合型別的話,那python字典就是無序的集合型別,py...