Ruby中物件陣列排序

2022-09-03 12:09:09 字數 1367 閱讀 6469

ruby物件陣列的排序

作者剛剛接觸ruby,因之前總認為指令碼語言語法不規範,對指令碼語言有些偏見,如不是專案需要並不會去學習python、ruby等語言。現在專案中需要實現物件陣列排序的任務,對於昨天開始看ruby的我來說壓力山大啊!【汗】

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

1

#!/usr/bin/ruby23

class

location

4attr_accessor :longitude

5attr_accessor :latitude

6def

initialize(lo,la)

7 @longitude, @latitude =lo,la

8end

9end

1011

class

obd12

attr_accessor :gps

13attr_accessor :loc

14def

initialize(g,l)

15 @gps =g

16 @loc =l

17end

1819

end20

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)

2728 @obds =

29 @obds[0] =obd

30 @obds[1] =obd2

31 @obds[2] =obd3

3233

34 @obds.sort! #

注意此處的'!',如果沒有'!',則原陣列不會被改變,建議去掉嘆號後試試效果

35puts obd.gps

36puts obd.loc.longitude

37puts obd.loc.latitude

38 puts "

#,#,#

"39 puts "

#,#,#

"40 puts "

#,#,#

"

程式執行結果:

希望對大家有幫助吧!

[注]:

Ruby物件陣列按屬性排序

在rails裡,我們可以用sort by方法對乙個ruby物件陣列按照某個屬性進行排序,如 user.find all sort by 等效於 users user.find all users.sort sort 後面的 使得排序結果直接存入陣列 users中,如果不想排序破壞 users陣列,直...

python中陣列物件排序

sort 方法語法 list.sort cmp none,key none,reverse false 引數 例子1 usr bin python coding utf 8 獲取列表的第二個元素 def takesecond elem return elem 1 列表 random 2,2 3,4 ...

給Ruby 不同陣列物件新增不同排序方法

有些時候我們需要給類的乙個示例物件新增方法如下 class person end pedro person.new peter person.new inject a method in the instances def pedro.hello world puts hola mundo end ...