そのため、知識はあまりありませんがRuby
、簡単なスクリプトを作成する必要があります。私のジレンマを詳細に説明しようとしますが、まだ説明が必要な場合はお知らせください.
私のスクリプトには、それぞれ 3 つの数字のセットが含まれています。たとえば、各人について次の 3 つの情報があるとしますAge, Size, and Score
。したがって、特定の年齢とサイズの人が存在するかどうかを評価する方法が必要です。もしそうなら、その人のスコアを出力したいと思います。
私が知っているこの情報を追跡する唯一の方法は、 を作成し3 separate arrays
、それぞれにinformation
. 年齢が 1 つの配列に含まれているかどうかを確認できます。含まれている場合は、そのインデックスを見つけることができます (各カテゴリの各値は一意になるため、「年齢」、「サイズ」、または「スコア」は繰り返されません)。次に、サイズ配列の同じインデックスの値が指定されたサイズと一致するかどうかを確認できます。もしそうなら、同じインデックスで 3 番目の配列内にあるスコアを出力できます。私はこの方法ではなく、各人のage、size、およびscoreを一緒に保つことを好みます。
したがって、次のような配列内で配列を試しました。
testarray = [
[27, 8, 92],
[52, 12, 84]
]
ただし、これの問題は、これらのサブ配列内の値にアクセスする方法がわからないことです。したがって、testarray.include?(27) のようなものを使用してメイン配列内に 27 が存在するかどうかを確認できることはわかっていますが、27 と 8 が testarray のサブ配列内の最初の 2 つの値であるかどうかを確認するにはどうすればよいでしょうか。次にsubarray
、92の 3 番目の値を出力します。
次に、以下のようにハッシュの配列を試しました。
testarrayb = [
{ :age => 27, :size => 8, :score => 92 },
{ :age => 52, :size => 12, :score => 84 }
]
を使用testarrayb[0][:score]
して 92 を取得できることはわかっていますが、指定された年齢とサイズの両方を持つハッシュが配列に含まれているかどうかを最初に確認し、含まれている場合はそのハッシュのスコアを出力するにはどうすればよいでしょうか? testarrayb[:age].include?(value)
各ハッシュの年齢がチェックされ、同じハッシュのサイズがチェックされる場所に似ています。両方が指定された値と一致する場合、そのハッシュのスコアが出力されます。
誰かが私を正しい方向に向けることができれば、非常に感謝しています。それがあなたが推奨するものである場合は、より効率的で完全に異なる手法を自由に示してください。御時間ありがとうございます!