- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Ruby
技巧
Ruby技巧001常值
所谓常值(literal),就是用来将数值、字符串等基本的对象直接写在脚本中的表示法。
数值
???数值时在程序中可被处理的一种最基本的数据形态。
???数值在处理中,与整数及小数有着很大的差异。另外,如果使用标准内建的函数库,也可以处理矩阵、复数等整数、浮点数以外的其他数据形态。
???数值常数包括整数与浮点数。
???整数
???1
???-1
???1000000000000000
???整数包括固定长整数(Fixnum)与大数(Bignum)。Fixnum可表示系统平台上自然操作的数值范围(对32位机器是-230~230-1),而Bignum则表示比此范围更大的整数。因为这两种整数会视需求自动变换,所以一般在编写Ruby的脚本时,不需要特别去区分。
???在整数中,可以依据个人喜好在每位数中间加入“_”。在描述位数较多的数时,可以更容易阅读。
???1_000_000_000
???另外,整数不仅可以表示十进制数,也可以表示二进制数、八进制数、十六进制数。
???sample001-01.rb
???#以“0b”开头的为二进制数
???bin_num=0???pbin_num?#=109
???#以“0”开头的为八进制数
???oct_num=0751
???poct_num?#=469
???#以“0x”开头的为十六进制数
???hex_num=0xAF83
???phex_num?#=44931
???浮点数
???浮点数是指使用浮动小数点表示的数。浮动小数点分为“假数部分”与“指数部分”,以“假数X10指数部分”来表示。如此一来,由大的数值到小的数值,都可以用限制的位数来处理。
???在Ruby中,指数部分与假数部分是以“假数e指数”的形式来表示。例如:1.4*100000会以“1.4e5”来表示,2.0/1000会以“2.0e-3”来表示。
???1.2
???1.4e5??#1.4X(10的5次方)
???2.0e-3?#2.0X(10的-3次方)
符号
???符号用来表示方法名等,对应内部所使用值的对象。符号是以“:”起始的英文与数字所构成(开头的字符不可使用数字)。
???:sym
???:s001
???在Ruby1.8中,新增了符号的写法。
???:symbol123???#符号“symbol123”
???%s[symbol123]?#符号“symbol123”
???在过去包含空格符的符号是不可以使用的,但通过新增的写法,前面那些包含空格符等的符号,也可以使用了。
字符串
???字符串处理是Ruby拿手的领域之一。为此,在字符串的表示上,导入了如下各种的写法。
???RubyOnRails学习网
???%q[中国北京]
???%Q(ROR学习网)
???ROR
???红宝石比珍珠好
???HELLO
???“”与“”这两种将字符串包住的写法与其他程序语言是相同的。“”与“”的差异有以下两点。
???“”可使用特殊字符
???“”可在其中展开“#{表达式}”的具体描述语句
???所谓特殊字符是指如\n、\t这样附有“\”的字符。\n表示换行,而\t表示跳格。另外,还有像\x5a这样的形式是可以用字符的十六进制数来表示的写法。
???表达式展开是将Ruby的表达式嵌入字符串中的一种写法。若在“”的字符串中有“#{表达式}”这样的字符串,则会执行其中的表达式,并将其结果在字符串中取代“#{表达式}”。
???最后,我们使用“”的三行写法,称为HereDocument。HereDocument将在“”的下一行起,一直到某一行开头为前面第一行中“”后所接字符串的行为止的所有文字作为一个字符串。
???在HereDocument中也可以展开表达式。
正则表达式
???正则表达式是一种用来表示字符串样式(pattern)的写法,使用在与字符串的比对上。
???正则表达式的写法有两种:以“//”包住的写法与以“%r”开头的写法。
???在使用以“//”包住的写法时,样式中不可以直接写入“\”。我们必须透过“\”来跳脱(Escape)。
???/R.*y/?#可相配“R”之后出现任意字符0次以上之后接“y”的字符串
???/Ruby\/Python/?#可相配“Ruby/Python”字符串
???例如:与“/rubybase/”及“/rubycase/”相配的正则表达式可以用下面的写法表示。使用“%r”的时候,在“%r”的下一字符表示常值的起始于结束。
您可能关注的文档
- Ruby on Rails字符串处理完整版.doc
- 双ISP接入负载均衡NAT与IP-SLA链路检测实验配置.doc
- 2026西安银行校园招聘备考题库带答案详解.docx
- 中国农业银行青岛市分行2026年度校园招聘137人备考题库附答案详解(满分必刷).docx
- 中信银行2026年校园招聘备考题库附答案详解(研优卷).docx
- 2026齐鲁银行股份有限公司校园招聘备考题库及答案详解(全优).docx
- 中国建设银行建信期货有限责任公司2026年度校园招聘9人备考题库及一套参考答案详解.docx
- 2026西藏自治区定向选调应届优秀大学毕业生70人备考题库及答案详解(名校卷).docx
- 中国农业银行大连市分行2026年度校园招聘205人备考题库及答案详解(历年真题).docx
- 2026长乐农商银行校园招聘6人备考题库有完整答案详解.docx
- 2026秋季中国工商银行集约运营中心(佛山)校园招聘20人备考题库含答案详解(培优).docx
- 中国农业银行宁波市分行2026年度校园招聘214人备考题库附答案详解(夺分金卷).docx
- “梦工场”招商银行长沙分行2026寒假实习生招聘备考题库附答案详解(轻巧夺冠).docx
- 2026贵州省公共资源交易中心定向部分高校选调优秀毕业生专业技术职位考试备考题库完整参考答案详解.docx
- 中国建设银行建信金融资产投资有限公司2026年度校园招聘8人备考题库含答案详解(a卷).docx
- 中国农业银行宁夏回族自治区分行2026年度校园招聘146人备考题库及一套参考答案详解.docx
- 门头沟区青少年事务社工招聘1人备考题库附答案详解(模拟题).docx
- 中国建设银行运营数据中心2026年度校园招聘20人备考题库含答案详解ab卷.docx
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人备考题库及答案详解(有一套).docx
- 2026秋季中国工商银行重庆市分行校园招聘270人备考题库含答案详解(完整版).docx
最近下载
- 弱电机房数据中心的选址及现场勘察表格.docx VIP
- 分子生物学智慧树知到课后章节答案2023年下温州医科大学.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 基恩士PLC编程手册.pdf VIP
- 电网侧独立储能电站项目经济效益和社会效益分析报告.docx
- 2025年6月福建省普通高中学生学业基础会考历史试卷(含答案) .pdf VIP
- 上汽荣威2017款Ei6 维修手册03-2发动机机械系统-1.0T.pdf
- GB_T 43439-2023 信息技术服务 数字化转型 成熟度模型与评估.pdf VIP
- (新课标)三年级上册第六单元测试A卷(含答案).pdf VIP
- 烟草专卖局培训课件:打击互联网涉烟违法犯罪.ppt
原创力文档


文档评论(0)