ruby字符串学习笔记4】的更多相关文章

1 从一种数据结构中构件字符串 hash = { key1: "val1", key2: "val2" } string = "" hash.each { |k,v| string << "#{k} is #{v}\n" } puts string # key1 is val1 # key2 is val2 变种 string = "" hash.each { |k,v| string <…
1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] # king s[/str.*/] # string s.slice(3).ord…
1 单独处理字符串的字符 如果处理的是ASCII码的文档使用string#each_byte 注意 没有 string#each方法,String#each_byte 速度比 String#scan快 ,String#scan用于配合正则表达式时使用 'foobar'.each_byte { |x| puts "#{x} = #{x.chr}" } # 102 = f # 111 = o # 111 = o # 98 = b # 97 = a # 114 = r 'foobar'.sc…
ascii转字符或者字符串转ascii "a".ord # => 97 "!".ord # => 33 "\n".ord # => 10 'a'[0] # => "a" 'bad sound'[1] # => "a" 'a'[0].ord # => 97 'bad sound'[1].ord # => 97 97.chr # => "a"…
自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目也进行到一些后期的维护,自己也有时间开充实一下自己了,决定重新开始去学习这款开发语言,也将后面不断地更新自己的学习笔记.   首先,你懂OC语言的话,这款Swift最基本的一些概念性的东西就不需要你再去理解了,会为你的学习带来许多的方便! 第一大点,大家需要知道字符串的本质是一个结构体!这点很重要…
ruby学习笔记2  (摘自<ruby程序设计语言教程(中文版)>.pdf,全书25页) 1.同一个问题ruby有多个解决方案,途径 ruby之父:松本行弘(Matz),1993年创立 ruby的偶数发行版为稳定版 圆括号在方法调用中是可选的.即无论函数定义还是调用函数,括号都随意的 vim为ruby配置一个插件才好用:vim_ruby:在vimrc中添加<map> <F7> :!ruby -Ku % <CR>      表示用F7键运行  -Ku表示utf…
在一个ruby字符串中包含表但是或者变量.想使用不同的值替换表达式或者变量 1 类似java 或者python的printf-style方式 template = 'Oceania has always been at war with %s.' template % 'Eurasia' # => "Oceania has always been at war with Eurasia." template % 'Eastasia' # => "Oceania h…
以下是2种表达方式一样. if expression code end if expression then #推荐这种形式 code end expression的值不是false或nil,则code块将被执行. 需要注意:1)围绕expressions的圆括号是可选的(而且通常都不用),ruby使用换行符.分号或者关键字then对条件表达式和后续的内容进行分隔 2) 必须以end 作为结束. 例子 if data #if array exist data << x #append x to…
4.6.9 范围  Flip-Flops:  ..和... ..和... 操作符不是基于方法的,无法重定义.(优先级比较低) x+1 .. x*x   #可以认为是x+1 至 x*x 的范围 因为操作符的值是一个Range对象,  下面3种表达方式都是一样的 1)  x..y 2)Range.new(x,y) 3) Range.new(x,y,true) 表达式 Flip-Flops的值可以是ture/false布尔值 ..与...的区别: 当..filp-flops为true时,它返回true…
对属性和数组元素的赋值 o.m + = 1  ===>o.m = (o.m()+ 1)  # 对 o.m()这个方法的结果+1 对数组元素的赋值也是通过 方法调用来完成. 0.[] = 1 ===>o.[] = o.[] +1 #对o实例对象的[]方法,的结果+1 如果一个对象o定义了一个接受2个参数的.名为[]=的方法 o.[x] = y ===> 那么   o.[] = (x, y) 如果一个对象具有一个接受三个参数的.名为[]=的方法,那么方括号中的值,会被当作索引 o.[x,y]…