#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
# 字符串
# 字符串分 单引号字符串 和 双引号字符串, 区别在于双引号字符串能够支持更多的转义字符.. 在双引号的字符串中, 转义字符会被解析, 而在单引号, 不会解析, 原样输出.
print('Hello, Ruby.\n 单引号不会转义')
print("\n")
print('Hello, \'Ruby\' 但是在嵌入 单引号时, 还是需要转义')
print("\n")
str0 = '这是一个单引号字符串'
str1 = "这是一个\"双引号\"字符串"
puts str0
puts str1
# 双引号字符串
# 在双引号字符串中, 可以使用 #{} 嵌入操作
# 变量
name = 'xiaoMing'
str2 = "name = #{name}"
puts str2
# 运算
x, y, z = 1, 2, 3
str3 = "sum = #{x + y + z}"
puts str3
# 引导 %q 和 %Q
# %q 使用单引号规则, %Q 使用双引号规则, 后面再接(![{等等相对应!]})的末尾界定符
str4 = %Q('Ruby' 的字符串)
str5 = %q[Ruby 的字符串]
puts str4, str5
# 转义字符
# 在双引号的字符串中, 转义字符会被解析, 而在单引号, 不会解析, 原样输出.
# 字符编码
# Ruby 默认字符集是 ASCII, 字符可用单个字节表示. 如果使用 UTF-8或其他字符集, 字符可能是一个到四个字节表示.
# => String.new("This is test")
str6 = "This is Test"
puts str6
str6.downcase!
puts str6
puts "abc \0\0abc \0\0".unpack('A6Z6')
网友评论