1、如果用 print 代替 puts 会发生什么?如何更改 print 的参数以使输出结果与使用 puts 时相同?提示:回想一下,\n 是表示换行符的常用方式。
用 print
代替 puts
时, print
不会自动添加换行符。要使输出结果与使用 puts
时相同,需在 print
的参数末尾添加换行符 \n
。
2、Ruby支持常见的特殊字符,如制表符(\t)和换行符(\n),它们是所谓空白字符的两种不同形式。证明\t和\n在双引号字符串中被解释为特殊字符,而在单引号字符串中则不然。在这两种情况下,它们分别有什么效果?
在双引号字符串中, \t
会产生制表符效果, \n
会产生换行效果,例如:
puts "hello\tgoodbye"
会输出 hello
和 goodbye
之间有制表符间隔的内容;
puts "hello\ngoodbye"
会输出换行的 hello
和 goodbye
。
在单引号字符串中, \t
和 \n
不会被解释为特殊字符,而是作为普通字符显示,例如:
puts 'hello\tgoodbye'
会原样输出 hello\tgoodbye
;
puts 'hello\ngoodbye'
会原样输出 hello\ngoodbye
。
3、将变量 city
和 state
赋值为你当前居住的城市和州(如果居住在美国以外地区,则替换为类似的信息)。使用字符串插值,打印一个由城市和州组成的字符串,中间用逗号和空格分隔,例如“洛杉矶, 加利福尼亚州”。
在 Ruby 中可以这样实现:
city = "你的城市"
state = "你的州"
puts "#{city}, #{state}"
请将“你的城市”和“你的州”替换为实际的城市和州名。
4、编写 Ruby 代码,不考虑大小写,测试字符串 “hoNeY BaDGer” 是否包含字符串 “badger”。
可以先将两个字符串都转换为小写,再使用 include?
方法进行判断,代码如下:
"hONeY BaDGer".downcase.include?("badger".downcase)
5、试着猜测用于测试一个对象是否为 nil(等同于 object == nil)的 Ruby 布尔方法。使用该方法证明空字符串不是 nil。
在 Ruby 中,用于测试对象是否为 nil
的布尔方法是 nil?
。
可以使用如下代码证明空字符串不是 nil
:
''.nil?
该代码会返回 false
,表明空字符串不是 nil
。
6、编写一个 for 循环,以逆序打印出字符串 soliloquy 中的字符。
可以使用如下代码实现:
for i in 0..(soliloquy.length - 1)
puts soliloquy[soliloquy.length - 1 - i]
end
7、将字符串“A man, a plan, a canal, Panama”以逗号加空格进行分割,将结果赋值给变量a。得到的数组有多少个元素?
4个
8、你能猜出对数组 a
进行原地反转的方法吗?
在 Ruby 中,对于数组可以使用 reverse!
方法进行原地反转。例如:
a = [17, 42, 8, 99]
a.reverse!
会使 a
变为 [99, 8, 42, 17]
。