3つの数字が入力され、その合計が取られているルビプログラムを作成しようとしていますが、数字が同じであれば合計には数えません。 例(4,5,4)= 5 私の問題は私の表現です。私が同じ番号を入力すると、私は様々な組み合わせのために複数の出力を得る。例では、5,5,5と入力します= 15,5,0 -The最初の行は、あなたのパラメータを持つ配列を作成します。二人の美しい自明ワンライナールビの変数と式
array = [a,b,c]
array = array.keep_if {|item| array.count(item) == 1 }
array.inject(0){|sum,item| sum + item}
でそれを解決
if a != b or c then
puts a+b+c
elsif b != a or c then
puts a+b+c
elsif c != a or b then
puts a+b+c
end
if a == b then
puts c
elsif a == c then
puts b
elsif b == c then
puts a
end
if a == b and c then
puts 0
elsif b == a and c then
puts 0
elsif c == a and b then
puts 0
end
これは私がどうなるかである:配列を通り、一つだけ表示される各要素の1#ソート*配列* 2#の反復(彼らは今の実行になります同じ番号の)新しい配列に追加します。 #3新しい配列の内容を合計します。 (#1 +#2は 'Enumerable#group_by'、' Enumerable.select'、 'Enumerable#reduce'で簡単に行えます) –