%{String} 用于创建一个使用双引号括起来的字符串
%Q{String} 用于创建一个使用双引号括起来的字符串
str=<<END_OF_STRING
a string
END_OF_STRING
%Q!Some String of “Characters”! <==> ” Some String of /”Characters/” “
%q{String} 用于创建一个使用单引号括起来的字符串
%q!Some String of “Characters”! <==> ‘Some String of Characters’
%r{String} 用于创建一个正则表达式字面值
%r{/usr/bin/} <==> ///usr//bin///
%w{String} 用于将一个字符串以空白字符切分成一个字符串数组,进行较少替换
%W{String} 用于将一个字符串以空白字符切分成一个字符串数组,进行较多替换
%W(North South East West) <==> ["North", "South", "East", "West"]
%s{String} 用于生成一个符号对象
%x{String} 用于执行String所代表的命令
%x{ ls /usr/local } <==> `ls /usr/local`
PS:上面几个%表示法中用{}扩住了String,其实这个{} 只是一种分割符,可以换成别的字符,比如(),那么%表示法就是%(String),当然还可以是别的字符,对于非括号类型的分割符,左右两边要相同, 如%!String!
下面我对这些表示法简单举几个例子:
%{String}用于创建一个使用双引号括起来的字符串
这个表示法与%Q{String}完全一样,这边直接句个例子看结果:
1. result = %{hello}
2. puts "result is: #{result}, Type is:#{result.class}"
结果: result is: hello, Type is:String
%Q{String}用于创建一个使用双引号括起来的字符串
%q{String}用于创建一个使用单引号括起来的字符串
从说明中可以看出这两个表示法的区别就是一个使用双引号,一个使用单引号。使用双引号的字符串会对字符串中的变量做较多替换,而单引号则做较少的替换,具 体看例子。先看%Q{String}:
1. world = "world"
2. result = %Q{hello #{world}}
3. puts "result is: #{result}, Type is:#{result.class}"
结果: result is: hello world, Type is:String
换成%q{String}:
1. world = "world"
2. result = %q{hello #{world}}
3. puts "result is: #{result}, Type is:#{result.class}"
结果:
result is: hello #{world}, Type is:String
从上面的结果可以看出,较少替换的情况下,#{world}被解析成了字符串,而不会去计算这个变量中的值。
%r{String}用于创建一个正则表达式字面值
就像使用/reg/方式一样,看代码:
1. result = %r{world}
2. puts result =~ "hello world"
3. puts "result is: #{result}, Type is:#{result.class}"
结果: 6
result is: (?-mix:world), Type is:Regexp
可以看出,world从第6个字符开始匹配
%w{String}用于将一个字符串以空白字符切分成一个字符串数组,进行较少替换
%W{String}用于将一个字符串以空白字符切分成一个字符串数组,进行较多替换
这两个应该是大家见过最多的,用这个方式构造数组,可以省下一些逗号,Ruby真 是会惯坏大家,以后大家都不用标点符号了。
同样给一个简单的例子:
1. result = %w{hello world}
2. puts "result is: #{result}, Type is:#{result.class}, length is:#{result.length}"
结果: result is: helloworld, Type is:Array, length is:2
%s{String}用于生成一个符号对象
直接先上代码:
1. result = %s{hello world}
2. puts "result is: #{result}, Type is:#{result.class}"
3. sym = :"hello world"
4. puts "the two symbol is the same: #{sym == result}"
结果:
result is: hello world, Type is:Symbol
the two symbol is the same: true
可以看出,这两中方式生成的symbol对象完全一样
%x{String}用于执行String所代表的命令
比如:
%x{notepad.exe}可以启动windows下的记事本,这里我就不列结果了(那是一个大家熟悉的窗口)
分享到:
相关推荐
在Ruby的世界里,字符串操作是常见的任务之一。为了增强字符串处理能力,开发者们创建了许多库,其中Stringex是一个非常实用的扩展库。本文将深入探讨Stringex库,介绍其提供的各种实用方法,帮助你更好地理解和利用...
Ruby将字符串像数字一样处理.我们用单引号(‘…’)或双引号(…)将它们括起来. ruby> abc abc ruby> ‘abc’ abc 单引号和双引号在某些情况下有不同的作用.一个由双引号括起来的字符串允许字符由一个前置的斜杠...
Ruby 字符串对决这是什么? 这个存储库包含一个用于 A/B 测试 Ruby 代码性能的测试工具,以及一些比较双引号和单引号字符串性能的测试。如何运行测试先决条件: Ruby(这是基于 Ruby 版本 2.2.0,但其他版本应该可以...
本资源是ruby代码,提供了一系列封装好的函数,用于快速进行转换,一个函数搞定,包括如下转换,二进制字符串与hex字符串的互转。二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种...
String Foundation是一个Ruby库,为Ruby字符串类提供有用的方法。目录是象征长度法等于少于小于或等于比...更棒大于或等于可转换方法整数浮到TrueClass / FalseClass 用方法删除前导零(零填充) 转换方法到True...
在`string.rb`文件中,我们还可以学习到Ruby字符串的一些其他特性,如字符串连接、字符串格式化、字符串方法等。例如,`+`操作符用于字符串连接,`%`运算符用于格式化输出,`chomp`方法用于移除字符串末尾的换行符,...
一、字符串操作 字符串插值 1.#{}: 任意放置在#{}中的合法Ruby代码都将被求值,并被替换为求值结果插入到原位置 2.单引号与双引号差别: 双引号允许字符转义,单引号不允许转义,里是什么字符,用户看到的就是什么字符...
在Ruby编程语言中,处理Unicode字符串是一项常见的任务,尤其是在全球化和多语言应用的开发中。Unicode是一个广泛采用的标准,它包含世界上几乎所有的字符集,使得跨语言的数据交换变得可能。然而,由于Unicode的...
### Ruby字符串插值 Ruby的字符串插值是通过`#{}`语法实现的,允许我们在字符串中嵌入变量或表达式的结果。例如: ```ruby name = "Alice" greeting = "Hello, #{name}!" puts greeting # 输出 "Hello, Alice!" ``...
这些只是Ruby字符串处理的一部分特性,Ruby还提供了许多其他方法,如拼接(`+`运算符),重复(`*`运算符),切片(`[]`操作符),以及与正则表达式的配合使用等,使得字符串操作既高效又便捷。理解并熟练掌握这些方法对于...
这个 gem 返回与给定字符串关联的所有块。 Unicode 版本: 13.0.0 (2020 年 3 月) 支持的Ruby:3.0,2.7,2.6,2.5 可能仍然有效的旧Ruby: 2.4 、 2.3 、 2.2 、 2.1 、 2.0 文件 gem "unicode-blocks" 用法...
更改字符串颜色 更改字符串背景 改变弦效果 显示颜色样本 禁用着色 用法 require 'colorize' String . colors # return array of all possible colors names String . modes # return array of all possible modes ...
检索字符串所属的。 还可以返回Script_Extension属性,该属性定义为“通常与多个脚本一起使用,但脚本数量有限”的字符。 Unicode 版本: 13.0.0 (2020 年 3 月) 支持的Ruby:3.0,2.7,2.6,2.5 可能仍然有效...
在Ruby编程语言中,字符串是极其重要且常用的数据类型,用于存储文本信息。在本章“ruby基础教程(第四版)第14章 字符串类1”中,我们将深入探讨Ruby中的字符串处理方法和特性。 首先,创建字符串在Ruby中有多种...
to_lang是一个Ruby库,它在Google Translate API的支持下将语言翻译方法添加到字符串和数组中。 安装 只需运行: gem install to_lang 用法 要使用to_lang ,需要使用该库,然后使用您的Google Translate API密钥...
8. **Ruby中的字符串拆分** Ruby的`split`方法非常直观: ```ruby str = "apple,banana,grape" fruits = str.split(",") puts fruits # 输出:apple\nbanana\ngrape ``` 以上就是不同编程语言中使用`string`...
例如,将Ruby字符串转为Python字符串: ```ruby ruby_str = "Hello, Ruby" python_str = pythonify(ruby_str) puts python_str.class # 输出 ``` 值得注意的是,虽然PyCall提供了一种便捷的方式进行跨语言调用,但...
标签中的“源码”意味着可能涉及具体实现代码,而“工具”可能是指使用某种编程工具或者库(如Ruby的`zlib`库)来实现字符串压缩功能。对于学习和开发,理解这些基础概念并能实际操作是十分重要的,特别是在处理...
门司寺 在String中添加很棒的方法来格式化浪费空间和宽度。 安装 将此行添加到您的应用程序的Gemfile中: gem 'mojimoji' 然后执行: $ bundle 或将其自己安装为: $ gem install mojimoji ...
一种用于将字符串转换为标题的方法。 它扩展了 String 类; 目前只支持英文。 如果您精通其他语言,请使用冠词、连词和介词做出贡献。 Headingify 基于芝加哥风格手册中规定的语法规则。 编。 16 页8.155。 下载...