私は非常に非常に新しいルビーです。誰も私のためにこれを解読できますか?1行に2つの条件が存在するのはなぜですか?
page = 1 if page <= 0 if @type != 'something'
私の推測では、のようなものです:
if (page <= 0 && @type != 'something')
then page = 1
私は非常に非常に新しいルビーです。誰も私のためにこれを解読できますか?1行に2つの条件が存在するのはなぜですか?
page = 1 if page <= 0 if @type != 'something'
私の推測では、のようなものです:
if (page <= 0 && @type != 'something')
then page = 1
あなたrewritting:
if (page <= 0 && @type != 'something')
は近いですが、正しくありません。あなたの元の行があると解釈されます:@type != 'something'
が最初に評価されていることを意味
(page = 1 if page <= 0) if @type != 'something'
、及び条件は、その時点でfalsyであれば残りはショートカットです。これはあなたの元の行のように書き換えることができる意味:
if (@type != 'something' && page <= 0)
それを理解するための別の方法を、ちょうど
doThis if doThat
文で声明をそれを打破することが
if doThat
doThis
end
を書くことと同じです
so ...
はに入るためには本当に悪い癖だし、誰これは悪い感じなければならない書いた
if @type != 'something'
if page <= 0
page = 1
end
end
ありがとう!それは私にもっと意味をなさない。 – g0rd
問題はない、私の喜び! – sircapsalot
です。それはちょっと混乱しているだけです。 – tadman
合意したように、 'page = 1ならtype = 'something' && page <= 0'ははるかに良いでしょう。 – marksiemers