Ruby/配列
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*目次 [#qe6f8ecb]
#contents
*基本 [#y0ee845a]
Rubyで配列はArrayクラスのインスタンス。ArrayクラスはEnume...
*追加 [#d48ba36f]
**配列に配列を追加 [#n92018f8]
***concatを使う [#xbf9f69a]
#pre{{
a = [1, 2]
b = [3, 4]
a.concat(b)
p a # => [1, 2, 3, 4]
}}
*削除 [#y51f61c8]
**先頭要素を削除する [#r2705e34]
*** shiftを使う [#i00b4b90]
#pre{{
a = ["a", "b", "c", "d", "e"]
p a.shift
}}
*** delete_at(0)を使う [#w477e13f]
#pre{{
a = ["a", "b", "c", "d", "e"]
p a.delete_at(0)
}}
*検索 [#jf591a75]
**要素が存在するかどうか確認 [#udfbdf85]
***include?を使う。 [#ka98caf8]
-要素が含まれればtrue、なければfalseが返される。
#pre{{
array = [10, 6, 4]
p array.include?(6)
}}
**条件に一致した要素を検索し結果を配列として返す [#i217e6...
***selectを使用する [#p9c52293]
-ブロック内がtrueになる要素からなる配列が作成される。
[1,2,3,4].select {|n| n % 2 == 0} #=> [2, 4, 6]
**条件に一致する要素の数をカウントする [#j5193f40]
***countに条件が指定可能 [#c3153264]
#pre{{
ary = [1, 2, 4, 2]
ary.count #=> 4 #配列のサイズ
ary.count(2) #=> 2 #2に一致する要素の数
ary.count { |x| x % 2 == 0 } #=> 3 #割り切れる要素の数
}}
*整列 [#lf179304]
**sort [#lce9d55d]
-sortはブロックに渡された2つの要素を比較。以下の場合count...
ary.sort {|a,b| a.count <=> b.count }
**sort_by [#i9731161]
-sort_byはブロックに渡された一つの要素を使う。
ary.sort_by{|a| a.count}
-複数のキーを使ったソートの場合配列を使う。
ary.sort_by{|a| [a.count1,a.count2]
*変換 [#ead71b4f]
**全ての要素を評価した結果を配列として返す [#p93c5741]
collect、mapを使う
#pre{{
a = ["a", "b", "c", "d", "e"]
p a.collect {|x| x + x }
=> ["aa", "bb", "cc", "dd", "ee"]
}}
**オブジェクトのプロパティをまとめた配列を取得する [#x59d...
-user.emailの配列を取得したい場合。
#pre{{
users.map(&:email)
}}
-その意味。[[【Ruby】array.map(&:method)を理解する - Qiit...
#pre{{
['a','b'].map(&:upcase) #=> ["A", "B"]
# 省略しない記法
['a','b'].map do |string|
:upcase.to_proc.call(string)
end
}}
終了行:
*目次 [#qe6f8ecb]
#contents
*基本 [#y0ee845a]
Rubyで配列はArrayクラスのインスタンス。ArrayクラスはEnume...
*追加 [#d48ba36f]
**配列に配列を追加 [#n92018f8]
***concatを使う [#xbf9f69a]
#pre{{
a = [1, 2]
b = [3, 4]
a.concat(b)
p a # => [1, 2, 3, 4]
}}
*削除 [#y51f61c8]
**先頭要素を削除する [#r2705e34]
*** shiftを使う [#i00b4b90]
#pre{{
a = ["a", "b", "c", "d", "e"]
p a.shift
}}
*** delete_at(0)を使う [#w477e13f]
#pre{{
a = ["a", "b", "c", "d", "e"]
p a.delete_at(0)
}}
*検索 [#jf591a75]
**要素が存在するかどうか確認 [#udfbdf85]
***include?を使う。 [#ka98caf8]
-要素が含まれればtrue、なければfalseが返される。
#pre{{
array = [10, 6, 4]
p array.include?(6)
}}
**条件に一致した要素を検索し結果を配列として返す [#i217e6...
***selectを使用する [#p9c52293]
-ブロック内がtrueになる要素からなる配列が作成される。
[1,2,3,4].select {|n| n % 2 == 0} #=> [2, 4, 6]
**条件に一致する要素の数をカウントする [#j5193f40]
***countに条件が指定可能 [#c3153264]
#pre{{
ary = [1, 2, 4, 2]
ary.count #=> 4 #配列のサイズ
ary.count(2) #=> 2 #2に一致する要素の数
ary.count { |x| x % 2 == 0 } #=> 3 #割り切れる要素の数
}}
*整列 [#lf179304]
**sort [#lce9d55d]
-sortはブロックに渡された2つの要素を比較。以下の場合count...
ary.sort {|a,b| a.count <=> b.count }
**sort_by [#i9731161]
-sort_byはブロックに渡された一つの要素を使う。
ary.sort_by{|a| a.count}
-複数のキーを使ったソートの場合配列を使う。
ary.sort_by{|a| [a.count1,a.count2]
*変換 [#ead71b4f]
**全ての要素を評価した結果を配列として返す [#p93c5741]
collect、mapを使う
#pre{{
a = ["a", "b", "c", "d", "e"]
p a.collect {|x| x + x }
=> ["aa", "bb", "cc", "dd", "ee"]
}}
**オブジェクトのプロパティをまとめた配列を取得する [#x59d...
-user.emailの配列を取得したい場合。
#pre{{
users.map(&:email)
}}
-その意味。[[【Ruby】array.map(&:method)を理解する - Qiit...
#pre{{
['a','b'].map(&:upcase) #=> ["A", "B"]
# 省略しない記法
['a','b'].map do |string|
:upcase.to_proc.call(string)
end
}}
ページ名: