我的任務是使用一個非常簡單的密碼驗證方案,但對於我的生活,我似乎無法得到這個權利。這是任務:如何驗證字符串中的連續數字不是順序的?
用戶通過表單發送6個字符的數字密碼。在 爲了強制使用安全密碼,請創建一個確認號碼 不能連續向上或向下。
以下是我有:
password = '246879'
new_password = password.split('').map { |s| s.to_i }
new_password.each_with_index do |val, index|
next_element = new_password[index + 1]
prev_element = new_password[index - 1]
if new_password[index] + 1 == next_element
puts 'next bad'
break
elsif
new_password[index] - 1 == prev_element
puts 'prev bad'
break
end
end
的密碼失效的87,因爲7是一個小於8
你的答案絕對比我的更緊湊,所以+1。我儘量避免使用巧妙的代碼來支持顯式,但我真的很喜歡這個答案返回表達式本身的值,而不是依靠分支來返回布爾值。 –