-1
我很困惑,爲什麼當在程序可以繼續之前結合兩個應該爲true的條件時,我使用'& &'出現語法錯誤。我是Ruby新手,沒有機會親自編寫完整的程序。 我只是更新舊的程序,並通過類似於我需要更新的任何代碼。紅寶石語法錯誤在多種情況下使用&&
這裏是我的代碼:
def drug_dispensation_condition(charge)
return true if ['250','251'].include? charge[:rev_code]
return true if ['981262'].include? charge[:cdm_code]
return true if ['300'].include? charge[:rev_code] && ['86580'].include? charge[:cdm_code] #this line is inserted
false
end
這裏是我的錯誤信息:
語法錯誤,意想不到的tIDENTIFIER,期待keyword_end (SyntaxError錯誤)... E] & & [ '86580'] 。包括?費:cdm_code]
我添加了第三屆「返回true」條款包括rev_code 300和cdm_code 86580. 我同時需要rev_code 300和cdm_code 86580申報陳述爲真,所以我需要在它們之間添加「& &」。它看起來像是在「charge [:rev_code]」之後,而不是第二個條件,期待「結束」。
是否有任何其他的方式來編碼,以避免語法錯誤?
另一個要考慮的是'迴歸TRUE'當評估一個布爾條件是一種浪費。只是表示邏輯原樣,這是隱式返回。 – tadman
我不想把所有的代碼放在一起,因爲如果rev_code'300'和cdm_code'86580'都存在,我只希望它成爲True。這就是我爲什麼單獨編碼的原因。其他代碼獨立於我的新代碼。我是否仍然可以使用「&&」來添加對象? – malex
我用([charge [:rev_code])和(charge [:cdm_code])上的圓括號試了一下。我得到了另一個語法錯誤,意外的tLPAREN_ARG,期待keyword_end(SyntaxError)..._ code])&& ['86580']。include? (電荷[:cdm_code])。只是好奇,是「包括」之間的空間嗎?和「(charge」有什麼區別? – malex