- 浏览: 84042 次
- 性别:
最近访客 更多访客>>
最新评论
-
Bernice_liu:
谢谢分享,受益匪浅,适合我——初学者
Ruby语言中文教程all in one -
何枫abc:
怎么感觉Ruby有点像C!!!
3.5 标识名和变量的作用域 3.6 类库 3.7 数据类型 -
何枫abc:
谢谢了!!!你写的很好,现在我正在学Ruby!!!
第二章 运行环境 -
yangzhihuan:
正想知道ruby是怎么样生成像javadoc那样的文档,多谢了 ...
3.1 注释与分行 -
whisper:
从lambda演算的角度说我们并不关心一个东西到底是什么,而只 ...
变量一定要有类型吗(一)
一. 生成一个字符串
字符串是String类的对象,一般使用字面值来创建。
- #E8.2-1.rb
- str1 = 'this is str1'
- str2 = "this is str2"
- str3 = %q/this is str3/
- str4 = %Q/this is str4/
- str5 =《EOF_STRING<ok_str span=""></ok_str>
- Here is string document, str5
- line one;
- line two;
- line three.
- OK
- EOF_STRING<ok_str span=""></ok_str>
- puts str3
- puts str4
- puts str5
运行结果:
>ruby E8.2-1.rb
this is str3
this is str4
Here is string document, str5
line one;
line two;
line three.
OK
>Exit code: 0
%q 用来生成单引号字符串;%Q用来生成双引号字符串。%q或者%Q后面跟着的是分隔符,可以是配对的! !; / /; < >; ( ); [ ] ;{ };等等。
str5是一个字符串文档,从 <<和文档结束符的下一行开始,直到遇到一个放置在行首的文档结束符,结束整个字符串文档。
一个数组可以用join 方法转换成字符串,join( ) 内的参数也是一个字符串,用来分隔数组的每个元素,例如:arr.join(", ")。
二. 字符串操作
字符串既然是String类的对象,String类的方法你都可以使用在字符串变量上,String类的方法非常多,下面略举几例。
- #E8.2-2.rb
- str = ' this' + " is"
- str += " you"
- str << " string" << " ."
- puts str*2 # => this is you string . this is you string .
- puts str[-12,12] # => you string .
三. 字符串转义
双引号括起来的字符串会有转义,例如:“\n” 表示换行。还有一些其它的转义符号,比如制表符之类。
- #E8.2-3.rb
- str = " this is you string ."
- puts str*2 # => this is you string . this is you string .
- str = " this is you string .\n"
- puts str*2 # => this is you string .
- this is you string .
- str = " \tthis is you string ."
- puts str # => this is you string .
- str = ' this\'s you string .\n'
- puts str # => this's you string .\n
单引号括起来的字符串并不会对字符串作任何解释,你看到的是什么便是什么,有一个例外:单引号字符串里的 单引号 需要转义。
四. 字符串内嵌表达式
在双引号扩起来的字符串中,不仅可以使用各种转义符,而且可以放置任意的Ruby表达式在 #{ } 之中,这些表达式在使用这个字符串的时候被计算出值,然后放入字符串。
- #E8.2-4.rb
- def hello(name)
- " Welcome, #{name} !"
- end
- puts hello("kaichuan") # => Welcome, kaichuan !
- puts hello("Ben") # => Welcome, Ben !
字符串内嵌表达式,使得你能够更加灵活地组织代码,表现出更强、更多的动态特性。
完整阅读,请看我写的 Ruby语言中文教程all in one
发表评论
-
8.4 迭代器、代码块、闭包
2007-02-13 06:25 1771先看一句代码: ruby 代码 (1..9). ... -
8.3 正则表达式
2007-02-13 06:13 1564一本入门小书,不想涉及正则表达式,但是正则表达式与Ruby语言 ... -
8.1 再说数组
2007-02-13 06:03 1488一. 建立一个数组 ruby 代码 #E8.1- ... -
7.4 require 和 load
2007-02-13 05:59 1365程序 E7.3-1.rb中先写了Me模块,然后include ... -
7.3 糅和(Mix-in) 与多重继承
2007-02-13 05:55 1812糅和,也译作混合插入,也许就称作 Mix-in 比较合适。 现 ... -
7.1 模块 7.2 命名空间
2007-02-13 05:50 22477.1 模块 我们常常把许 ... -
6.5 访问控制
2007-02-13 05:43 1200在Ruby里,要读取,或是改变对象的属性,唯一的途径是调用对象 ... -
6.4 单例方法
2007-02-13 05:16 1043同一份设计蓝图(类),不同的实例对象,可以表现出不同的行为特征 ... -
6.3 实例变量、类变量、类方法
2007-02-13 05:28 2278学习编程的过程,就是深化理解变量的过程。在面向对象编程中也不例 ... -
6.2 增强父类方法
2007-02-13 04:39 1053如果我们只是想增强父类的方法,而不是完全地替代它,就可以用关键 ... -
6.1 重载?重写
2007-02-13 04:11 1932在Java 中,重载(overload)和重写(overrid ... -
5.5 一些编码建议
2007-02-13 03:37 1161这里不是 Ruby语言的编 ... -
5.4 蓝图可以改变吗? ——动态语言
2007-02-13 03:28 781Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能, ... -
5.3 详解变量—— 动态类型
2007-02-13 03:22 1200变量是什么?变量有哪些特征呢?学习编程的过程,就是深化理解变量 ... -
5.1 为什么是Ruby? 5.2 Ruby会长久么?
2007-02-13 03:16 10315.1 为什么是Ruby? 现 ... -
4.5 多态
2007-02-13 03:07 801不同的子类继承一个父 ... -
4.4 继承
2007-02-13 03:04 839如果我们要写一个学生 ... -
4.3 封装
2007-02-13 02:53 936让我们来定义一个类,类名是Person,类名首字母要大写;属性 ... -
4.1 两种思维方式 4.2 对象
2007-02-13 02:47 9394.1 两种思维方式 人们 ... -
3.11 一个综合小练习
2007-02-13 02:05 1033还是求50以内的素数,尽可能地用到本章更多的语法,看程序 E3 ...
相关推荐
库卡机器人高级字符串处理指令文档 库卡机器人高级字符串处理指令文档是一份详细的指令文档,旨在提供给库卡机器人用户和开发者,用于了解和掌握高级字符串处理指令的使用方法和技术细节。该文档涵盖了CREAD/CWRITE...
**8.2 字符串** 在.NET框架中,`string`是System.String类的别名,它是一个不可变的字符序列。这意味着一旦创建,就不能直接修改字符串的内容。字符串有以下特点: - **定义字符串**:通常使用双引号括起来的一串...
在编程领域,浮点数与字符串之间的转换是常见的操作,特别是在数据处理、日志记录以及用户界面显示等场景。本文将详细探讨“浮点转字符串”这一主题,并结合日志打印,来阐述如何有效地实现这一功能。 首先,我们来...
### 字符串匹配算法手册概览 #### 一、引言 《字符串匹配算法手册》是一本详尽介绍字符串匹配算法的专业书籍,旨在为读者提供一个全面深入的学习平台,涵盖了一系列经典与现代的字符串匹配技术。该书由Maxime ...
根据提供的题目和答案,我们可以对Python中的字符串操作和一些特殊方法进行深入的解析与学习。 ### 8.1 字符串长度 **题目**: `len("Good")` 的结果是? - **选项**: - A.1 - B.2 - C.3 - D.4 - E.-1 - **答案...
在C#编程中,字符串(String)是至关重要的数据类型,广泛应用于各种操作,如文本处理、用户输入验证、数据解析等。在C#高级编程的第6版中,第08章深入探讨了字符串和正则表达式这两个关键概念。 **8.1 System.String...
.NET Reflector 8.2反编译最新版,可集成到VS .NET IDE中,可以对.NET程序...复制左侧请求字符串到注册机上面的编辑框,注册机自动计算出response字符串。 5.复制粘贴上述字符串到手工注册窗口右侧编辑框完成注册过程.
在标题和描述中提到的“LabVIEW8.2串口读写”,是指使用LabVIEW 8.2版本进行串行通信的操作,这在很多硬件接口测试、设备控制和数据采集系统中是非常常见的需求。 串口通信,通常指的是通过串行端口(Serial Port)...
DevExpress控件forC#-8.2完整版 --------------------------------- DevExpress.BonusSkins.v8.2.dll DevExpress.Charts.v8.2.Core.dll DevExpress.Data.v8.2.Compact.dll DevExpress.Data.v8.2.dll ...
5. 将 .NET Reflector 中的激活请求字符串复制,粘贴到注册机第二个文本框中,复制第三个文本框的激活应答字符串,粘贴到.NET Reflector手动激活界面右边文本框中 6. 点击激活按钮,激活成功 ^_^
RHEL_8.2 ISO
《Ghost 8.2:系统恢复与备份的实用工具》 Ghost 8.2 是一款在IT行业内广泛应用的系统恢复和备份软件,尤其适合个人用户和小型企业进行数据保护。这款软件以其简单易用的“一键还原”功能,使得复杂的系统备份和...
使用labview实现字符串大小写转换,开发环境为labview8.2
Ehlib 8.2 Build 8.2.013 DCU Version
PCS7 V8.2 授权是西门子过程控制系统(Process Control System 7)的一个重要环节,用于确保软件的合法性和正确运行。PCS7是一款综合的过程自动化系统,广泛应用于化工、石油天然气、制药等行业的生产过程控制。V8.2...
注册码是一种由特定算法生成的字符串,用于验证软件的合法使用权。 - **作用**:激活软件的全部功能,解锁试用版限制,确保软件使用者享有完整的服务和支持。 #### 2. **获取途径** - **官方购买**:最安全可靠的...
DevExpress8.2 破解文件
### SIMATIC NET V8.2 知识点详解 #### 一、SIMATIC NET V8.2 概述 SIMATIC NET V8.2 是西门子推出的一款用于工业自动化网络配置与通信软件包,它提供了多种通信协议的支持,如PROFIBUS、PROFINET等,帮助用户实现...
在给定的压缩包文件中,我们有两个版本的Gradle 8.2:一个是全量版(`gradle-8.2-all.zip`),另一个是精简版(`gradle-8.2-bin.zip`)。了解这两个版本的区别以及如何设置和使用它们对于有效地管理项目构建至关重要...
Ubuntu 配置 Netbeans 8.2 Ubuntu 是一个流行的 Linux 发行版,而 Netbeans 是一个功能强大的集成开发环境(IDE)。在本文中,我们将指导您如何在 Ubuntu 20.04 上配置 Netbeans 8.2。 标题解释 Ubuntu 配置 ...