Ruby & RailsRubyRuby on Rails

5 天外有天(2)反转人生

2017-07-18  本文已影响17人  彩虹门票

字符串的奇特方法

让我们学习一点有趣的字符串方法。你没必要把它们全都记住,如果你想不起来了只要再回过头翻翻这一页就好。我只是想给你们演示字符串所能做的部分内容。事实上我甚至记不住字符串方法里一半的内容——但这样就挺好,因为网络上有许多相关字符串方法的参考内容,它们已经列出并解释得很清楚了(在指导资料结尾部分我会告诉你们去哪里找到这些资料)。我甚至不想去学会所有的字符串方法,你只需要像在字典中查找每个单词那样就好,正如我依旧能说一口英语而没必要知道英语字典中所有单词……而这样难道不正是字典最主要的作用吗?所以你没必要知道里面的所有方法。

那么,我们头一个字符串方法是反转reverse,这会将字符串从后向前颠倒过来:



var1 = 'stop'
var2 = 'stressed'
var3 = 'Can you pronounce this sentence backwards?'

puts var1.reverse
puts var2.reverse
puts var3.reverse
puts var1
puts var2
puts var3

输出结果
正如你所看到的那样,reverse并不会将初始的字符串反转,只会作出一个新的字符串反转版本。这就是为什么即使在我们反转后调用var1后,var1依旧是stop.

另一个字符串方法是长度length,它是用来告诉我们字符串中字符的数量(包括空格):

puts 'What is your full name?'
name = gets.chomp
puts 'Did you know there are ' + name.length +
     ' characters in your name, ' + name + '?'

输出
哦哦!有地方出问题了,似乎是在name= gets.chomp后面的一行新版Ruby中有行数提示:第3行 ------译者注你能看出问题吗?可以试试能否解决。

这里的问题是length:输出是数字,但是我们想要的是字符串。足够简单了,我们只需要扔进去一个to_s:

puts 'What is your full name?'
name = gets.chomp
puts 'Did you know there are ' + name.length.to_s +
     ' characters in your name, ' + name + '?'

但是我不知道啊!注意:22是我名字中字符的个数,而不是字母的个数。我想我们需要写一个程序,这个程序先单独问你的first,middle,last名字,然后把它们的长度加起来……嘿,为什么不自己写一个呢!去吧,我会在这里等你们的。

你们写出来对应的程序了吧?很好,编程挺好玩得吧?通过后面几个章节的学习后,你将会对你自己能够做到的事很吃惊的。Σ┗(@ロ@;)┛


参考代码
输出
上一篇 下一篇

猜你喜欢

热点阅读