`
凌川__
  • 浏览: 83807 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

8.2 再说字符串

阅读更多

一. 生成一个字符串
字符串是String类的对象,一般使用字面值来创建。

ruby 代码
  1. #E8.2-1.rb   
  2.   
  3. str1 = 'this is str1'   
  4. str2 = "this is str2"  
  5. str3 = %q/this is str3/   
  6. str4 = %Q/this is str4/   
  7. str5 =《EOF_STRING<ok_str span=""></ok_str> 
  8.   Here is string document, str5   
  9.      line one;   
  10.      line two;   
  11.      line three.   
  12.   OK   
  13. EOF_STRING<ok_str span=""></ok_str> 
  14.   
  15. puts str3   
  16. puts str4   
  17. puts str5   
  18.   


运行结果:
>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类的方法非常多,下面略举几例。

ruby 代码
  1. #E8.2-2.rb   
  2.   
  3. str = ' this' + " is"  
  4. str += " you"  
  5. str << " string" << " ."  
  6.   
  7. puts  str*2       # =>  this is you string . this is you string .   
  8. puts  str[-12,12]  # => you string .  



三. 字符串转义
双引号括起来的字符串会有转义,例如:“\n” 表示换行。还有一些其它的转义符号,比如制表符之类。

ruby 代码
  1. #E8.2-3.rb   
  2.   
  3. str = " this is you string ."  
  4. puts  str*2                     # =>  this is you string . this is you string .   
  5.   
  6. str = " this is you string .\n"  
  7. puts  str*2                     # =>  this is you string .   
  8.                                   this is you string .   
  9. str = " \tthis is you string ."  
  10. puts  str                       # =>   this is you string .   
  11.   
  12. str = ' this\'s you string .\n'   
  13. puts  str                       # =>  this's you string .\n  


单引号括起来的字符串并不会对字符串作任何解释,你看到的是什么便是什么,有一个例外:单引号字符串里的 单引号 需要转义。

四. 字符串内嵌表达式
在双引号扩起来的字符串中,不仅可以使用各种转义符,而且可以放置任意的Ruby表达式在 #{   } 之中,这些表达式在使用这个字符串的时候被计算出值,然后放入字符串。

ruby 代码
  1. #E8.2-4.rb   
  2.   
  3. def hello(name)   
  4.     " Welcome, #{name} !"  
  5. end  
  6.   
  7. puts  hello("kaichuan")   # =>  Welcome, kaichuan !   
  8. puts  hello("Ben")       # =>  Welcome, Ben !  


字符串内嵌表达式,使得你能够更加灵活地组织代码,表现出更强、更多的动态特性。

完整阅读,请看我写的 Ruby语言中文教程all in one    
 

分享到:
评论

相关推荐

    库卡机器人高级字符串处理指令文档

    库卡机器人高级字符串处理指令文档 库卡机器人高级字符串处理指令文档是一份详细的指令文档,旨在提供给库卡机器人用户和开发者,用于了解和掌握高级字符串处理指令的使用方法和技术细节。该文档涵盖了CREAD/CWRITE...

    第8章 操作字符和字符串

    **8.2 字符串** 在.NET框架中,`string`是System.String类的别名,它是一个不可变的字符序列。这意味着一旦创建,就不能直接修改字符串的内容。字符串有以下特点: - **定义字符串**:通常使用双引号括起来的一串...

    浮点转字符串

    在编程领域,浮点数与字符串之间的转换是常见的操作,特别是在数据处理、日志记录以及用户界面显示等场景。本文将详细探讨“浮点转字符串”这一主题,并结合日志打印,来阐述如何有效地实现这一功能。 首先,我们来...

    字符串匹配算法手册 ( Handbook of Exact String-Matching Algorithms)

    ### 字符串匹配算法手册概览 #### 一、引言 《字符串匹配算法手册》是一本详尽介绍字符串匹配算法的专业书籍,旨在为读者提供一个全面深入的学习平台,涵盖了一系列经典与现代的字符串匹配技术。该书由Maxime ...

    Python更多字符串和特殊方法习题及答案--中文

    根据提供的题目和答案,我们可以对Python中的字符串操作和一些特殊方法进行深入的解析与学习。 ### 8.1 字符串长度 **题目**: `len("Good")` 的结果是? - **选项**: - A.1 - B.2 - C.3 - D.4 - E.-1 - **答案...

    无私分享(C#高级编程第6版):第08章字符串和正则表达式[收集].pdf

    在C#编程中,字符串(String)是至关重要的数据类型,广泛应用于各种操作,如文本处理、用户输入验证、数据解析等。在C#高级编程的第6版中,第08章深入探讨了字符串和正则表达式这两个关键概念。 **8.1 System.String...

    最新版反编译 .NET Reflector 8.2

    .NET Reflector 8.2反编译最新版,可集成到VS .NET IDE中,可以对.NET程序...复制左侧请求字符串到注册机上面的编辑框,注册机自动计算出response字符串。 5.复制粘贴上述字符串到手工注册窗口右侧编辑框完成注册过程.

    LabVIEW8.2串口读写 串口驱动 虚拟串口

    在标题和描述中提到的“LabVIEW8.2串口读写”,是指使用LabVIEW 8.2版本进行串行通信的操作,这在很多硬件接口测试、设备控制和数据采集系统中是非常常见的需求。 串口通信,通常指的是通过串行端口(Serial Port)...

    [.NET Reflector] .NET Reflector 8.2.0.42 最新版

    5. 将 .NET Reflector 中的激活请求字符串复制,粘贴到注册机第二个文本框中,复制第三个文本框的激活应答字符串,粘贴到.NET Reflector手动激活界面右边文本框中 6. 点击激活按钮,激活成功 ^_^

    RHEL_8.2 ISO

    RHEL_8.2 ISO

    ghost8.2系统恢复及备份

    《Ghost 8.2:系统恢复与备份的实用工具》 Ghost 8.2 是一款在IT行业内广泛应用的系统恢复和备份软件,尤其适合个人用户和小型企业进行数据保护。这款软件以其简单易用的“一键还原”功能,使得复杂的系统备份和...

    labview字符串大小写转换

    使用labview实现字符串大小写转换,开发环境为labview8.2

    Ehlib 8.2 Build 8.2.013 DCU Version

    Ehlib 8.2 Build 8.2.013 DCU Version

    PCS7 V8.2 授权

    PCS7 V8.2 授权是西门子过程控制系统(Process Control System 7)的一个重要环节,用于确保软件的合法性和正确运行。PCS7是一款综合的过程自动化系统,广泛应用于化工、石油天然气、制药等行业的生产过程控制。V8.2...

    DevExpress8.2 破解文件-免费

    DevExpress8.2 破解文件

    DevExpress控件forC#-8.2

    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 ...

    SQLyog 8.2 8.3 注册码

    注册码是一种由特定算法生成的字符串,用于验证软件的合法使用权。 - **作用**:激活软件的全部功能,解锁试用版限制,确保软件使用者享有完整的服务和支持。 #### 2. **获取途径** - **官方购买**:最安全可靠的...

    gradle8.2版本(bin+all)

    在给定的压缩包文件中,我们有两个版本的Gradle 8.2:一个是全量版(`gradle-8.2-all.zip`),另一个是精简版(`gradle-8.2-bin.zip`)。了解这两个版本的区别以及如何设置和使用它们对于有效地管理项目构建至关重要...

    SIMATIC NET V8.2.txt

    ### SIMATIC NET V8.2 知识点详解 #### 一、SIMATIC NET V8.2 概述 SIMATIC NET V8.2 是西门子推出的一款用于工业自动化网络配置与通信软件包,它提供了多种通信协议的支持,如PROFIBUS、PROFINET等,帮助用户实现...

    windows,php8.2,redis 扩展

    windows10 ,php8.2, redis 扩展

Global site tag (gtag.js) - Google Analytics