パンくず
Ruby Cookbook
配列のソート
概要
配列のソート
サンプル
require "pp" class Person attr_accessor:name,:age def initialize(name,age) @name,@age=name,age end end person_list = [Person.new("tanaka",23),Person.new("suzuki",30),Person.new("sato",6)] pp person_list # => arrayに追加した順番のまま puts "--------------------------------------------" pp person_list.sort_by {|person|person.name} # => Personのname順 puts "--------------------------------------------" pp person_list.sort_by {|person|person.age} # => Personのage順 puts "--------------------------------------------" pp person_list.sort_by {|person|person.age.to_s.reverse.slice!(0,1)} # => Personのage下一桁でソート
出力
[#<Person:0x26b3740 @age=23, @name="tanaka">, #<Person:0x26b3668 @age=30, @name="suzuki">, #<Person:0x26b3500 @age=6, @name="sato">] -------------------------------------------- [#<Person:0x26b3500 @age=6, @name="sato">, #<Person:0x26b3668 @age=30, @name="suzuki">, #<Person:0x26b3740 @age=23, @name="tanaka">] -------------------------------------------- [#<Person:0x26b3500 @age=6, @name="sato">, #<Person:0x26b3740 @age=23, @name="tanaka">, #<Person:0x26b3668 @age=30, @name="suzuki">] -------------------------------------------- [#<Person:0x26b3668 @age=30, @name="suzuki">, #<Person:0x26b3740 @age=23, @name="tanaka">, #<Person:0x26b3500 @age=6, @name="sato">]