是否与String.next相反?

时间:2013-05-28 20:48:24

标签: ruby syntax next

Ruby中next的反义词是什么? 我试图找到一个不存在的prev函数。

"b".prev会== "a",就像"a".next == "b"

一样
# A grad student at a local university thinks he has discovered a formula to
# predict what kind of grades a person will get. He says if you own less than 
# 10 books, you will get a "D". If you own 10 to 20 books, you will get a "C", 
# and if you own more than 20 books, you will get a "B".
# He further hypothesizes that if you actually read your books, then you will
# get a full letter grade higher in every case.
#
# grade(4,  false)  # => "D"
# grade(4,  true)   # => "C"
# grade(15, true)   # => "B"

1 个答案:

答案 0 :(得分:3)

如果您的案例仅限于独特字符,则以下内容将允许您获取之前的字符 或下一个角色:

def next_char(c)
  (c.chr.ord + 1).chr
end

def prev_char(c)
  (c.chr.ord - 1). chr
end

puts next_char('A')
puts prev_char('B')

然而,当你处理成绩时,我会选择一个等级的枚举。例如,看一下blog post可能的实现。

价: