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

字符串的奇特方法

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

那么,我们头一个字符串方法是反转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名字,然后把它们的长度加起来……嘿,为什么不自己写一个呢!去吧,我会在这里等你们的。

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


参考代码

输出
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,787评论 0 33
  • 【转载】原文地址:std::string详解作者:kieven2008 之所以抛弃char*的字符串而选用C++标...
    VAYY阅读 664评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,032评论 19 139
  • 一早上硕硕就笑嘻嘻的来到我身边,从袋子里拿出一个南瓜做成的米老鼠送给我,可爱的米老鼠,可爱的南瓜灯,可爱的硕硕~
    小家伙们的大家长阅读 174评论 0 0