按字母顺序排列的字符串Ruby

时间:2013-05-02 15:25:25

标签: ruby-on-rails ruby string

我是Ruby新手。我用Java编写了一个解决方案

public boolean checkOrder(String input) {
        boolean x = false;
        for (int i = 0; i < input.length() - 1; i++) {
            if (input.charAt(i) < input.charAt(i + 1) || input.charAt(i) == input.charAt(i + 1)) {
                x = true;
            } else {
                return false;
            }
        }
        return x;

    }

我想在ruby中做同样的事情我怎样才能将它转换成ruby。感谢。

3 个答案:

答案 0 :(得分:9)

def checkOrder(input)
  input.chars.sort == input.chars.to_a
end

答案 1 :(得分:2)

Sam的回答的变化,以防你想要这个作为String方法:

class String
  def sorted?
    self.chars.sort == self.chars.to_a
  end
end

'abc'.sorted?
'acb'.sorted?

答案 2 :(得分:1)

根据要求:

def checkOrder(input)
  x = false
  (input.length-1).times do |i|
    if input[i] < input[i+1] or input[i] == input[i+1]
      x = true
    else
      return false
    end
  end
  x
end
相关问题