-1 ruby arrays ruby-on-rails conditional-statements
我正在使用Ruby 2.4.我知道如何检查字符串是否全部大写
str == str.upcase
Run Code Online (Sandbox Code Playgroud)
但是如果我有一个字符串数组,那么检查只有数组的最后一个元素是大写的快速方法是什么,而对于其他元素,str!= str.upcase.我假设数组中至少有一个元素,如果只有一个元素并且它是大写的,我希望我的条件评估为true.
def only_last_upcase?(arr)
arr.find_index { |w| w == w.upcase } == arr.size - 1
end
only_last_upcase? ["word", "wOrD", "WORD"] #=> true
only_last_upcase? ["WORD", "wOrD", "WORD"] #=> false
only_last_upcase? ["word", "wOrD", "word"] #=> false
only_last_upcase? ["word"] #=> false
only_last_upcase? ["Word"] #=> false
only_last_upcase? ["WORD"] #=> true
only_last_upcase? [] #=> false
Run Code Online (Sandbox Code Playgroud)