0

これは構文の問題なのか、それとも各ステートメント内で三項演算子が機能しないのか疑問に思っていましたか?

以下はコードです(コードは2行目にあります

def no_repeats(year_start, year_end)
    (year_start..year_end).each {|x| no_repeats?(x) ? puts x: puts "nil"}
end




def no_repeats?(year)
    splitted_year = year.to_s.split("")
    counter=[]
    splitted_year.each {|x| counter << x unless counter.include?(x)}
    if counter.count == 4
        return true
    else 
        return false
    end
end


no_repeats(1980,1985)

次のコードはこれを解決します

(year_start..year_end).each {|x| no_repeats?(x) ? puts(x) : puts("nil") }
4

1 に答える 1

1

ええ、それは構文の問題です。コロンの前にスペースを置き、引数を括弧で囲みますputs(あいまいさを取り除くため)。

(year_start..year_end).each {|x| no_repeats?(x) ? puts(x) : puts("nil") }
于 2013-05-24T14:10:49.220 に答える