日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ruby中对象数组排序

發布時間:2025/4/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ruby中对象数组排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ruby對象數組的排序

作者剛剛接觸Ruby,因之前總認為腳本語言語法不規范,對腳本語言有些偏見,如不是項目需要并不會去學習PYTHON、RUBY等語言。現在項目中需要實現對象數組排序的任務,對于昨天開始看ruby的我來說壓力山大啊!【汗】

但是經過一番查詢資料,終于初步實現了自己想要的結果,現將自己做的測試程序記錄下來,以記念在ruby的道路上打的第一個小怪!代碼如下:

1 #!/usr/bin/ruby 2 3 class Location 4 attr_accessor :longitude 5 attr_accessor :latitude 6 def initialize(lo,la) 7 @longitude, @latitude = lo,la 8 end 9 end 10 11 class OBD 12 attr_accessor :gps 13 attr_accessor :loc 14 def initialize(g,l) 15 @gps = g 16 @loc = l 17 end 18 19 end 20 21 loc = Location.new(10,20) 22 obd = OBD.new(1,loc) 23 loc2 = Location.new(20,30) 24 obd2 = OBD.new(5,loc2) 25 loc3 = Location.new(40,50) 26 obd3 = OBD.new(2,loc3) 27 28 @obds = [] 29 @obds[0] = obd 30 @obds[1] = obd2 31 @obds[2] = obd3 32 33 34 @obds.sort! {|a,b| a.gps <=> b.gps}#注意此處的'!',如果沒有'!',則原數組不會被改變,建議去掉嘆號后試試效果 35 puts obd.gps 36 puts obd.loc.longitude 37 puts obd.loc.latitude 38 puts "#{@obds[0].gps},#{@obds[0].loc.longitude},#{@obds[0].loc.latitude}" 39 puts "#{@obds[1].gps},#{@obds[1].loc.longitude},#{@obds[1].loc.latitude}" 40 puts "#{@obds[2].gps},#{@obds[2].loc.longitude},#{@obds[2].loc.latitude}"

程序運行結果:

希望對大家有幫助吧!

[注]:本文為作者原創,轉載請標明出處

轉載于:https://www.cnblogs.com/myWAY2/p/5141645.html

總結

以上是生活随笔為你收集整理的Ruby中对象数组排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。