在Ruby编程语言中逆转字符串的各种方法

280 阅读2分钟

字符串是编程中的一个基本构件,几乎不可能想象一个不使用字符串的功能程序。

本指南将介绍我们在Ruby编程语言中逆转字符串的各种方法。

方法1:反转

在Ruby中逆转字符串的最简单的方法是使用内置的逆转方法。一个字符串是一个按顺序排列的字符数组。因此,我们可以使用反转方法来获得输入字符串元素的反转顺序。

比如说

str = "Hello, world!"
puts str.reverse

上面的例子应该以反向方式返回 "Hello, world!"。

!dlrow ,olleH

反向方法不影响原始字符串;它只返回一个反向顺序的副本。

为了影响原始字符串,我们可以使用reverse!方法。

str = "Hello, world!".reverse!
puts str

方法2:循环

我们也可以使用循环来逆转一个字符串。在这种情况下,我们遍历字符串中的字符,并以相反的顺序将它们重新应用于新的字符串。

请看下面的例子。

src = "Hello, world!"
rev = ''
for i in 1..src.length
    puts src[i]
    rev += src[src.length - i]
end
puts rev

注意:你可以忽略 "puts src[i]"这一行。它的目的是为了说明代码是如何工作的。

你会注意到结果与反向函数类似。

!dlrow ,olleH

方法3:反转单词

假设你想反转一个单词,而不是一个单一的字符?在这种情况下,我们可以拆分所提供的字符串并反转每个单词。

请看下面的例子。

word = "This is a full sentence."
word = word.split(" ").reverse!.join(" ")
puts word

在上面的例子中,我们把句子分割成各种单词(使用空格)。然后我们把每个词倒过来,再把它们连接起来。

结果输出如图所示。

sentence full a is This

方法4:注入

另一种我们可以用来反转字符串的方法是使用注入法。它的工作原理与reduce非常相似,很多人认为它是一个别名。

我们首先使用chars方法从指定的字符串创建一个数组。

"Hello, world!".chars

一旦我们有了字符数组,我们就可以调用注入方法。

puts "Hello, world!".chars.inject {|x, y| y + x}

得到的值是以反向顺序传递的字符串。

总结

本指南涵盖了你可以在Ruby中实现逆转字符串的各种方法。请自由探索更多的方法或创建你的自定义函数。