Rubyでオブジェクトの要素数を調べる方法

目次:

        序文

        1. 各反復子を使用してオブジェクトの各要素を走査します。
        1.size メソッド
        2.length メソッド
        3.count メソッド

序文:

Rubyでは、配列、文​​字列、ハッシュなどのオブジェクトの要素数 (長さ) を求めるためにさまざまなメソッドを使用できます。以下では、さまざまなメソッドを使用してオブジェクトの要素数を求める方法を説明します。この章で説明するものには、数値型と正規表現は含まれません。

1. each イテレータを使用して、オブジェクトの各要素を走査します。

オブジェクトの長さを見つける方法をまだ学習していない場合、オブジェクト内の要素の数を見つける最も伝統的な方法は、各反復子を使用して各要素を走査することです (Ruby はLispの多くの機能を継承しており、Lisp の機能を備えています)関数反復とは
どういう意味ですか? 簡単に言うと、Ruby のメソッドは反復子にもなり、反復子はメソッドにもなりえます)

ここで配列を作成するとします。この配列の名前は "a" で、いくつかの要素が含まれています。

a = Array["Ruby","Lua","Python","C"]

次に、各イテレータを作成します。各イテレータのオブジェクトは

​
a = Array["Ruby","Lua","Python","C"]

a.each do

end

​

次に、それぞれの外側に変数「sum」を作成して、最終結果をカウントします。

a = Array["Ruby","Lua","Python","C"]

sum = 0
a.each do

end

それぞれの内部ではなく、それぞれの外部に統計結果変数を作成するのはなぜでしょうか? それぞれの内部に変数を作成した場合、変数のスコープは各反復子の内部でのみ許可されるためです。ただし、それぞれの外部で作成した場合は異なり、変数のスコープはファイル全体になります。sum 変数の初期値を 0 に設定する必要があります。これは、オブジェクトの現在要素が 0 であることを意味します。

各反復の実行回数はオブジェクトの要素の数に依存するため、各反復に入るたびに、合計するループの回数を決定するために sum が 1 に加算されます。オブジェクトの要素の数。

a = Array["Ruby","Lua","Python","C"]

sum = 0
a.each do

    sum += 1 #与sum = sum + 1等价

end

実行の最後に、puts メソッドを使用して sum の値を出力します。結局のところ、sum の値は各オブジェクトの要素の数です。

​
a = Array["Ruby","Lua","Python","C"]

sum = 0
a.each do

    sum += 1 #与sum = sum + 1等价

end

puts sum;

​

実行後、コンソールに結果が明らかに表示されます。

出力: 4

この出力結果は配列 a のすべての要素であり、問​​題はありません。

2.サイズ方法:

上記の方法は初心者には難しいと思いますが、既製のインスタンスメソッドを使用してオブジェクトの要素数に直接アクセスすることはできますか? もちろん、size メソッドを使用してオブジェクトの要素数に直接アクセスすることもできます。

a = Array["Ruby","Lua","Python","C"]
a.size()

このようにして、 a の要素の数を見つけましたが、変数が返す内容を受け取るために変数を使用していないため、変数「sum」を使用して
このメ​​ソッドの戻り値を受け取り、結果を出力する必要があります。合計変数の結果

a = Array["Ruby","Lua","Python","C"]
sum = a.size()

puts sum;

出力: 4

size メソッドは、オブジェクトを配列として検索できるだけでなく、文字列やハッシュも検索できます。

文字列オブジェクトの要素数を調べる例:

a = "Hello Ruby"

sum = a.size()

puts sum

出力: 10

オブジェクトがハッシュである要素の数を見つける例:

a = {:a => "Hello",:b => "world"}
sum = a.size()

puts sum

出力結果:2


2: 長さ法

length メソッドには size メソッドと同じプロパティがあります。配列、文字列、ハッシュ オブジェクトの要素の数も見つけることができます。比較をより強力にするために、いくつかの実用的な例を示します。

配列の要素数を求める例:

a = Array["Ruby","Lua","Python","C"]
sum = a.length()

puts sum

出力: 4

文字列オブジェクトの要素数を調べる例:

a = "Hello Ruby"
sum = a.length()

puts sum

出力: 10

オブジェクトがハッシュである要素の数を見つける例:

a = {:a => "Hello",:b => "world"}
sum = a.length()

puts sum

出力結果:2

どちらのメソッドも表現効果は同じですが、size メソッドは主に配列に使用され、length メソッドは主に文字列に使用され、読者はシナリオに応じてこれら 2 つのメソッドを使い分けることができます。

3: カウント方法

実は筆者は count メソッドについてはあまり詳しくなく、このメソッドについては断片的にしか理解できていないのですが、読者が Ruby のメソッドをより多く蓄積するために、このメソッドについて簡単に説明することにしました。このメソッドは少し特殊です。最初の 2 つのメソッドほど「文学的で強力」ではありません。配列とハッシュ (ハッシュ) 内の要素の数を見つけることのみを目的としていますが、ニーズを満たすには十分です。以下に続けて、カウント方法について説明するためにいくつかの例を挙げてみましょう。

オブジェクトがハッシュである要素の数を見つける例:

a = {:a => "Hello",:b => "world"}
sum = a.count()

puts sum;

出力結果:2

配列の要素数を求める例:

a = Array["Ruby","Lua","Python","C"]
sum = a.count()

puts sum;

出力: 4

count の方がハッシュ化に適しているように見えますが、それでも誰もがシナリオに応じて対応する方法を選択します。

おすすめ

転載: blog.csdn.net/m0_68824353/article/details/125960373