string.next的反义词是什么?

时间:2013-05-23 14:24:44

标签: ruby string

Ruby中有一个方法可以执行相反的String#succ吗?

如果您运行succnext,则会收到:

a = "4.4.10"
a.succ
=> "4.4.11"

我想要相反:

a = "4.4.10"
a.previous
=> "4.4.09"

这可能吗?我很难在Ruby文档中找到它。也许它不存在?

1 个答案:

答案 0 :(得分:37)

prev或类似内容不在标准API中,因为succ和次数prev是完全的。尽管如此,“Implement Ruby String Class Prev / Pred / Prev! / Pred! - Opposite Of Next / Succ Methods”是您可以使用的可能版本。

根本问题是succ不可逆。这意味着,一旦您应用了succ,那么prev最终会产生一些歧义。

surjective map of succ and prev