職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

ネストした配列を平滑化する

2022年02月27日 | Ruby3.0.1
ネストした配列を平滑化する


【開発環境】
OS:Win11(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【「flatten」メソッド】
配列の中の1つの要素として他の配列が含まれる場合に、要素として含まれる配列を展開して平滑化するには、Arrayクラスの「flatten」メソッドを使う

・書式
Arrayオブジェクト.flatten
「flatten」メソッドは配列に含まれる配列を全て展開した新しい配列を返します

例文
ary = [1, 2, [3, 4, 5], 6, 7]
この配列では要素として「1」「2」「[3, 4, 5]」「6」「7」と言う5つの要素を持っています。この配列に対して「flatten」メソッドを実行すると配列の中に含まれる他の配列を展開します。

ary = [1, 2, [3, 4, 5], 6, 7]
newary = ary.flatten
結果
配列「newary」は[1, 2, 3, 4, 5, 6, 7]が入る。

flatten」メソッドには「flatten!」メソッドも用意されています
「flatten!」メソッドの場合には新しい配列を返すのではなく、対象の配列自身を平滑化した状態に変更します。

サンプルプログラム
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

配列の大きさを取得する

2022年02月25日 | Ruby3.0.1
配列要素の数を取得する


【開発環境】
OS:Win11(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【要素数を調べる】
配列の大きさを取得する方法は、Arrayクラスの「length」メソッドを使う

・書式
Arrayオブジェクト.length

例文1
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
print(ary.length)
配列に格納されている要素は5つですので、「5」が表示される。

例文2
ary = ["東京", ["大阪", "名古屋"], "福岡", "札幌"]
print(ary.length)
配列の中の1つの要素として「["大阪", "名古屋"]」と言う別の配列が格納されていますが、あくまで要素としては1つになりますので結果として表示される値は「4」となります

【sizeメソッド】
「length」メソッドと同じ機能を持ったメソッド、sizeメソッドも用意されてる。

・書式
Arrayオブジェクト.size

サンプルプログラム


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

要素を挿入する

2022年02月23日 | Ruby3.0.1
要素を挿入する


【開発環境】
OS:Win11(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【新しい配列要素の挿入】
既存の配列の中の指定の位置に新しい要素を挿入するメソッドは用意されていませんが、指定した開始インデックスと要素数を指定すると、新しい値に置き換える。

・書式
Arrayオブジェクト[start, len] = 新しい要素

・例文
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1, 0] = "横浜"
結果
ary = ["東京", "横浜", "大阪", "名古屋", "福岡", "札幌"]になる。

サンプルプログラム
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

要素を置き換える

2022年02月22日 | Ruby3.0.1
要素を置き換える


【開発環境】
OS:Win11(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【置き換え】
・配列に含まれる要素を置き換えるには
Arrayオブジェクト[index] = 新しい要素

「start」に指定したインデックスから「end」に指定したインデックスまでの要素を新しい要素で置換します。新しい要素としては配列を指定したり単独の値を指定が可能です。

例文
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1..2] = ["osaka", "nagoya"]
上記の場合は対象の配列の1番目から2番目の要素を、2つの新しい要素を持つ配列で置き換えています。

・結果
ary = ["東京", "osaka", "nagoya", "福岡", "札幌"]

・置換対象の要素数と置換する要素の数が異なる場合
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1..2] = ["osaka", "nagoya", "yokohama"]
上記の場合は対象の配列の1番目から2番目の要素を、3つの新しい要素を持つ配列で置き換えています。

結果
ary = ["東京", "osaka", "nagoya", "yokohama", "福岡", "札幌"]

・単独の値で置き換えることも可能です。その中でも置き換える値として「nil」を指定した場合にはその要素は削除される

例文
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1..2] = nil
上記の場合は対象の配列の1番目から2番目の要素を「nil」で置き換えています。

・結果
ary = ["東京", "福岡", "札幌"]

サンプルプログラム


【開始インデックスと要素数を指定して新しい値で置き換える】
指定した開始インデックスと要素数を指定して新しい値に置き換えるには次の構文を使う

・構文
Arrayオブジェクト[start, len] = 新しい要素
「start」に指定したインデックスから「len」要素数分の要素を新しい要素で置換します。
新しい要素としては配列を指定したり単独の値を指定が可能です。

・例文
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
ary[1, 2] = ["osaka", "nagoya"]
上記の場合は対象の配列の1番目から2つ分の要素を、2つの新しい要素を持つ配列で置き換えています。

・結果
ary = ["東京", "osaka", "nagoya", "福岡", "札幌"]

サンプルプログラム


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

配列要素を取得する

2022年02月18日 | Ruby3.0.1
配列要素を取得する


【開発環境】
OS:Win11(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

【配列に含まれる要素を取得する】
・書式
変数 = Arrayオブジェクト[index]
上記は1つの要素を取得するものですが、他にも複数の要素を配列として取得することが出来ます。

【開始インデックスと終了インデックスを指定して新しい配列を作成する】
指定した開始インデックスと終了インデックスまでの要素を新しい配列として取得するには次の構文を使います。

・書式
新しいArrayオブジェクト = Arrayオブジェクト[start..end]
「start」に指定したインデックスから「end」に指定したインデックスまでの要素で新しい配列を作成します。

・例文
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
newary = ary[1..3]
上記の場合には新しい配列「newary」として「大阪」「名古屋」「福岡」の3つの要素を持つ新しい配列が作成されます。

サンプルプログラム


【開始インデックスと要素数を指定して新しい配列を作成する】
指定した開始インデックスと要素数を指定して新しい配列として取得するには次の構文を使います。

・書式
新しいArrayオブジェクト = Arrayオブジェクト[start, len]
※「start」に指定したインデックスから「len」に指定した要素数分だけの要素で新しい配列を作成します。

例文
ary = ["東京", "大阪", "名古屋", "福岡", "札幌"]
newary = ary[1, 2]
上記の場合には新しい配列「newary」として「大阪」「名古屋」の2つの要素を持つ新しい配列が作成されます。

サンプルプログラム

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする