私のコードにいくつかの問題があり、私がしようとしていることがあります。私はこの日のほとんどをgoogledしました。これが簡単でソリューションがシンプルなら謝罪します。私は完全な説明を好む解決策を探しています。これまでルビ計数配列はそれらを返して合計します。出力コードを含める
マイコード:ここで
a1 = [ 4, 6, 7, 8, 10, 13, 14, 15, 17, 21, 24, 45, 48, 61]
a2 = [ 5, 10, 14, 18, 24, 25, 33, 34, 40, 45, 47, 50, 52, 54]
a3 = [ 1, 5, 12, 17, 23, 24, 25, 29, 33, 39, 40, 44, 46, 48]
a4 = [ 5, 16, 18, 20, 31, 39, 41, 42, 43, 55, 57, 60, 62, 63]
a5 = [ 2, 7, 18, 26, 33, 36, 38, 43, 44, 45, 50, 51, 52, 55]
a6 = [ 2, 12, 14, 15, 18, 24, 32, 35, 41, 43, 46, 47, 48, 51]
a7 = [ 4, 12, 13, 15, 17, 18, 19, 23, 26, 32, 33, 35, 40, 47]
all_arrays = [a1, a2, a3, a4, a5, a6, a7]
total = Array.new
fun = Array.new
b = Array.new
all_arrays.map do |arr3|
fun = [arr3.include?(41 & 43)] #.count(true)
total = [fun.count(true)]
私は41と43は、彼らがA4とA6で行う配列、一緒に起こるかどうかを確認しようとしています。今度は一緒に起こる回数を数えたいと思っています。私がputs total
になった場合、出力は0001010になります。 私はputs fun
を出力すると、私はfalse、false、false、true、false、trueを得るでしょう。私は、真実または1を数えることができるようにしたいので、41と43が何回起こったのかを合計します。 出力を配列に変換する方法がわかりません。 total = [fun.count(true)]
が正しくないと確信しています。しかし、それは動作しますか?並べ替え クラスを作成する必要がありますか?ここで
counts = Hash.new(0)
total.each do |color|
counts[color] += 1
#puts counts
#puts total.count
#total.uniq.each do |elem|
#puts "#{elem}\t#{total.count(elem)}"
#end
end
stackoverflowのなど、Googleや他のサイトで を表示されるコードは、私の研究の間に、あります。私は医者とapiを見てきました。私はまだ言語の論理と構文を理解していないので、束を読んでいくつかのオンラインクラスを取ることはできませんでした。私はやって学ぶことを望んでいますが、現在、これは私には新しく、私は放課後のプロジェクトで息子を助けています。私はこれを学びたいので、私は彼に教えています。ご協力ありがとうございました。
が '= Array.new'が' = [] 'と同じです。後者は一般的に使用されます。同様に、 'h = Hash.new'は' h = {} 'と同じで、やはり通常は後者が使われます。 –