FC2ブログ

Ruby on RailsでWebサイト公開!に挑戦中

レンタルサーバーでWebサイトを公開すべく、Ruby on Railaの勉強をする日々を語ります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

Rubyの配列操作

Rubyの基本を再確認中。
今回はRubyでの配列操作について。



1)Rubyの配列
https://docs.ruby-lang.org/ja/2.4.0/class/Array.html
・Arrayクラスのインスタンス。
・配列は任意のRubyオブジェクトを要素として持つことができる。

2)配列の作成

〇構文
[element0, element1, ..., elementN]
Array.newメソッド

3)Rubyでの配列操作の例

①ハッシュの配列の操作例

heroes = [
{ id: 11, name: '相田' },
{ id: 12, name: '飯田' },
{ id: 13, name: '上田' },
・・・
];

for i in 0..heroes.length-1
puts heroes[i][:id]
puts heroes[i][:name]
end


②クラスの配列の操作例

class Hero
attr_accessor :id, :name

def initialize(id, name)
@id = id;
@name = name
end
end

heroes1 = [
Hero.new(11, "相田"),
Hero.new(12, '飯田'),
Hero.new(13, '上田'),
Hero.new(14, '江田'),
Hero.new(15, '小田')
];

for i in 0..heroes1.length-1
puts heroes1[i].id
puts heroes1[i].name
end


4)配列に要素を追加

①配列の最後に要素を追加
heroes1.push(Hero.new(19, '謙田'))
heroes1.push({ id: 19, name: '謙田' })

②配列の先頭に要素を追加
heroes1.unshift(Hero.new(20, '小林'))
heroes1.unshift({ id: 20, name: '小林' })

5)指定した範囲の配列要素をリターン

heroes2 = heroes1.slice(1..7)
heroes2 = heroes1.slice(1,5)

6)配列内の要素をソート

●構文
sort {|a, b| ... }

・要素同士の比較は <=> 演算子を使って行う。
・ブロックに2つの要素を引数として与えて評価し、その結果で比較する。

例)sortメソッドで昇順にソート
heroes2 = heroes1.sort{|x, y| x.id.to_i <=> y.id.to_i }

例)sortメソッドで降順にソート又はreverseメソッドで降順に並べかえ
heroes2 = heroes1.sort{|x, y| y.id.to_i <=> x.id.to_i }
heroes2 = heroes1.sort{|x, y| x.id.to_i <=> y.id.to_i }.reverse

| Ruby | 14:03 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://hbnist76.blog.fc2.com/tb.php/572-3547619f

TRACKBACK

PREV | PAGE-SELECT | NEXT