- 浏览: 326653 次
- 来自: 西安
文章分类
- 全部博客 (106)
- ruby 插件 (3)
- ruby on rails (33)
- google adsense (0)
- RedCloth (1)
- 情感 (5)
- 编程语言 (1)
- 新闻 (1)
- rails 环境 (1)
- ruby 编辑器 (1)
- python (1)
- linux (20)
- linux,gvim (2)
- mysql (4)
- oracle (4)
- ruby gem (2)
- Windows (2)
- http web 服务器 (1)
- c# (4)
- script (1)
- Microsoft (5)
- domain (1)
- php (4)
- 软件开发方法 (2)
- 设计模式 (0)
- powershell (4)
- android (2)
- Hyper-v (1)
- web (1)
- winserver 2012 R2 (1)
- delphi (1)
- sqlite (0)
- Git (1)
- redis (1)
- vpn (0)
最新评论
-
di1984HIT:
学习了~~
ROR rails正常启动,但是http://127.0.0.1:3000不能访问的解决办法 -
0372:
应该有吧!我自己认为!
ITeye还有人维护吗? -
shuaigelingfei:
cywhoyi 写道应该是放弃了吧记得2、3年前,weibo上 ...
ITeye还有人维护吗? -
cywhoyi:
应该是放弃了吧记得2、3年前,weibo上私信问过Robin, ...
ITeye还有人维护吗? -
catroll:
现在可以使用:service php7.0-fpm start ...
php使用php-fpm重启、停止操作命令
Ruby字符串处理函数
1.返回字符串的长度
str.length => integer
2.判断字符串中是否包含另一个串
str.include? other_str #true or false
"hello".include? "lo" #=> true
"hello".include? "ol" #=> false
"hello".include? ?h #=> true
3.字符串插入:
str.insert(index, other_str) #str
"abcd".insert(0, 'X') #=> "Xabcd"
"abcd".insert(3, 'X') #=> "abcXd"
"abcd".insert(4, 'X') #=> "abcdX"
"abcd".insert(-3, 'X') #=> "abXcd"
"abcd".insert(-1, 'X') #=> "abcdX"
4.字符串分隔,默认分隔符为空格
str.split(pattern=$;, [limit]) # anArray
" now's the time".split #=> ["now's", "the", "time"]
"1, 2.34,56, 7".split(%r{,\s*}) #=> ["1", "2.34", "56", "7"]
"hello".split(//) #=> ["h", "e", "l", "l", "o"]
"hello".split(//, 3) #=> ["h", "e", "llo"]
"hi mom".split(%r{\s*}) #=> ["h", "i", "m", "o", "m"]
"mellow yellow".split("ello") #=> ["m", "w y", "w"]
"1,2,,3,4,,".split(',') #=> ["1", "2", "", "3", "4"]
"1,2,,3,4,,".split(',', 4) #=> ["1", "2", "", "3,4,,"]
也可以指定切分符:
"apples, pears, and peaches".split(", ") # ["apples", "pears", "and peaches"]
"lions and tigers and bears".split(/ and /) # ["lions", "tigers", "bears"]
splite方法的第二个参数用来限制切分的返回结果个数,具体效果规则如下:
1.如果省略这个参数,则切分结果中末尾为null的结果将被压缩掉
2.如果是正数,则结果按照指定的限制数量进行切分,尾部的null结果也将会保留做为结果
3.如果是负数,则切分结果数量无限制,并且保留尾部的null结果。
例如:
str = "alpha,beta,gamma,,"
list1 = str.split(",") # ["alpha","beta","gamma"]
list2 = str.split(",",2) # ["alpha", "beta,gamma,,"]
list3 = str.split(",",4) # ["alpha", "beta", "gamma", ","]
list4 = str.split(",",8) # ["alpha", "beta", "gamma", "", ""]
list5 = str.split(",",-1) # ["alpha", "beta", "gamma", "", ""]
5、格式化字符串
======================================================================
Ruby的字符串格式话沿用了C的格式,在C中可用于sprintf或printf的格式话字符在Ruby中同样适用:
name = "Bob"
age = 28
str = sprintf("Hi, %s... I see you're %d years old.", name, age)
String类有个%方法,可以方面的做格式化的工作,它接受任何类型的单个值或一个数组:
str = "%-20s %3d" % [name,age]
上面这个和下面这个式子是等效的
str = sprintf("%-20s %3d", name, age)
我们还可以使用ljust,rjust,center方法来格式化我们的字符串:
str = "Moby-Dick"
s1 = str.ljust(13) #"Moby-Dick "
s2 = str.center(13) #" Moby-Dick "
s3 = str.rjust(13) #" Moby-Dick"
6、控制字符串的大小写
==========================================
Ruby的String类提供了一组丰富的方法来控制大小写:
s = "Hello,World"
s1 = s.downcase #"hello,world"
s2 = s.upcase #"HELLO,WORLD"
capitalize方法把字符串第一个字符变大写,其余都是小写:
s3 = s.capitalize #"Hello,world"
swapcase则是把字符串中的每个字符的大小写转换一下(原来大写的都小写,反之亦然):
s = "HELLO,world"
s1 = s.swapcase #"hello,WORLD"
这些方法都有相应的in-place方法
(upcase!,downcase!,capitalize!,swapcase!)
虽然,Ruby没有提供内置的判断字符是否是大小写的方法,但是,这不是问题,我们可以通过正则表达式来完成这一点:
if string =~ /[a-z]/
puts "string contains lowercase charcters"
end
if string =~ /[A-Z]/
puts "string contains uppercase charcters"
end
if string =~ /[A-Z]/ and string =~ /a-z/
puts "string contains mixed case"
end
if string[0..0] =~ /[A-Z]/
puts "string starts with a capital letter"
end
字符串的子串
=============================================
Ruby提供了多种访问操作字符串子串的方式,我们可以来看一下:
1.如果给出一组数字,则第一个数字代表取字符串的偏移位置,第二个数字表示
取的长度:
str = "Humpty Dumpty"
sub1 = str[7,4] # "Dump"
sub2 = str[7,99] # "Dumpty" (超过的长度按实际长度来取)
sub3 = str[10,-4] # nil (长度为负数了)
记住,上面的形式,很多从别的语言转过来的ruby初学者会认为给出的两个数字是子串的开始和结束位置的偏移,这是错误的,务必记住。
给出的偏移是负数也是可以的,这样,位置将从字符串末尾开始计算:
str1 = "Alice"
sub1 = str1[-3,3] # "ice"
str2 = "Through the Looking-Glass"
sub3 = str2[-13,4] # "Look"
我们也可以给出一个Range来取子串:
str = "Winston Churchill"
sub1 = str[8..13] # "Church"
sub2 = str[-4..-1] # "hill"
sub3 = str[-1..-4] # nil
sub4 = str[25..30] # nil
强大的是,正则表达式在这个时候也充分发挥着作用:
str = "Alistair Cooke"
sub1 = str[/l..t/] # "list"
sub2 = str[/s.*r/] # "stair"
sub3 = str[/foo/] # nil
如果给出的是一个字符串,则如果目标字符串中含有这个给出的字符串,则返回这个给出的字符串,否则返回nil:
str = "theater"
sub1 = str["heat"] # "heat"
sub2 = str["eat"] # "eat"
sub3 = str["ate"] # "ate"
sub4 = str["beat"] # nil
sub5 = str["cheat"] # nil
如果给出的是一个数字,则返回的是该数字对应索引处字符的ASCII码:
str = "Aaron Burr"
ch1 = str[0] # 65
ch1 = str[1] # 97
ch3 = str[99] # nil
同样,我们不仅可以通过上面的方式访问子串,还可以来向字符串设置内容:
str1 = "Humpty Dumpty"
str1[7,4] = "Moriar" # "Humpty Moriarty"
str2 = "Alice"
str2[-3,3] = "exandra" # "Alexandra"
str3 = "Through the Looking-Glass"
str3[-13,13] = "Mirror" # "Through the Mirror"
str4 = "Winston Churchill"
str4[8..13] = "H" # "Winston Hill"
str5 = "Alistair Cooke"
str5[/e$/] ="ie Monster" # "Alistair Cookie Monster"
str6 = "theater"
str6["er"] = "re" # "theatre"
str7 = "Aaron Burr"
str7[0] = 66 # "Baron Burr"
发表评论
-
ROR windows 开发环境配置
2017-02-17 20:06 0今天来了兴致想弄下ROR了,本人用的windows8.1 ... -
ROR rails正常启动,但是http://127.0.0.1:3000不能访问的解决办法
2014-10-14 16:25 5353D:\aaa>rails s => Booti ... -
Problem installing RMagick rubygem on Centos 6.3
2014-04-18 23:20 2495gem install rmagick出现错误: Bu ... -
centos yum install nokogiri 1.5.8 不成功的解决方案
2014-04-18 23:03 4255centos下安装nokogiri不成功,提示如下: ge ... -
Scope- ruby中变量的作用范围
2013-06-01 22:54 2342ruby中变量的作用范围有3种 1. Class d ... -
ruby-1.8.7中truncate方法重写
2013-04-29 23:49 1342在ruby-1.8.7中的运用方法truncate会存在问题 ... -
Linux 环境passenger多ruby版本共存部署
2013-04-25 21:53 36011.安装rvm Ruby代码 mk ... -
快速正确的安装 Ruby, Rails 运行环境
2013-04-22 10:50 1203系统需求 首先确定操作系统环境,不建议在 Windows ... -
Nginx+mongrel部署Rails应用
2013-04-21 22:12 1290安装nginx 下载地址 http://nginx.o ... -
从Rails2到Rails3
2013-04-19 15:25 1257我们来看下rails3相比rails2, 进步在哪里, 优势 ... -
用 Ruby scrAPI 做数据采集
2013-02-28 21:59 1398前天在 Railscasts 上 ... -
Ruby 在 Windows 下播放声音
2013-02-07 00:12 1306[代码] ruby代码 -
Ruby读取键盘输入 windows
2013-02-07 00:11 1624[代码] ruby代码 -
rails查看工程的版本兼容问题
2013-02-03 22:37 2080很初学Rails不久,感到Rails的版本不兼容是一个让人 ... -
Ruby 构建支持多线程的 Web 服务器
2013-02-01 22:59 1401[代码] ruby代码 -
Ruby on Rails 使用 Cookie 的方法
2013-02-01 22:55 1270代码] oschina_hello.rb -
蒙娜丽莎的微笑 Ruby实现
2013-01-31 22:27 7228这个挺有意思:Ruby 的 UI 库向来不怎么样,所以这 ... -
Ruby多进程并行抓取网页
2013-01-30 21:42 1986想研究一下各大网站首页有多少个链接,于是用Ruby写 ... -
ruby 163 发送 邮件
2013-01-30 21:01 1498最近学习ruby 写了个 mail 发送 邮件 16 ... -
sitemap_generator 生成 Sitemap
2013-01-27 21:00 1678安装 编辑Gemfile 1 ...
相关推荐
3.6.3 字符串 3.6.4 数字 3.6.5 符号 3.6.6 空值 3.7 运行Ruby文件 3.8 控制结构 3.8.1 条件 3.8.2 循环 3.8.3 块 3.9 小结 第4章 Rails揭秘 4.1 3种环境 4.2 数据库配置 ...
3.6.3 字符串 3.6.4 数字 3.6.5 符号 3.6.6 空值 3.7 运行Ruby文件 3.8 控制结构 3.8.1 条件 3.8.2 循环 3.8.3 块 3.9 小结 第4章 Rails揭秘 4.1 3种环境 4.2 数据库配置 ...
3.6.3 字符串 3.6.4 数字 3.6.5 符号 3.6.6 空值 3.7 运行Ruby文件 3.8 控制结构 3.8.1 条件 3.8.2 循环 3.8.3 块 3.9 小结 第4章 Rails揭秘 4.1 3种环境 4.2 数据库配置 ...
rack是ruby服务器和rack应用程序之间的一个框架,rails,sinatra都是基于rack构建的,都属于rack应用程序。 rack提供了一个标准的接口,用于与服务器进行交互。标准的rack程序是一个可以响应call的对象,可以是对象、...
拐点 拐点是一个字符串转换库。 它对英语单词进行单数和复数处理,并将字符串从CamelCase转换为带下划线的字符串。 拐点是一个端口“到Python。 资源
Zen Rails安全清单概要本文档提供了开发Ruby on Rails应用程序时要实施的安全... 不要使用标准的Ruby插值( #{foo} )将用户输入的字符串插入ActiveRecord或原始SQL查询中。 使用? 字符,命名的绑定变量或来清理数据库
越来越多的资源集中在Ruby on Rails及其方面方面,分为各种类别 我会尽力维护此存储库,但是如果您发现不良的掉毛或未完成/列出的资源,请随时做出贡献。 原子 命令行界面 来源 快捷方式和命令,将有助于导航和简化...
轨道会产生支架入口餐类型:字符串卡路里:中间蛋白:整数碳水化合物;整数脂肪:整数 rails generate scaffold 是一种为模型,控制器和视图生成大量文件的快速方法。 例如)rails生成支架{型号名称} {列1名称}:{...
变量、常量和数据类型:学习Ruby中变量的定义和命名规则,了解常量的使用,掌握基本的数据类型(如整数、浮点数、字符串等)。 运算符与控制流:掌握Ruby中的运算符(如算术运算符、比较运算符、逻辑运算符等),...
Active Admin 是一个 Ruby on Rails 插件,用于生成管理风格的界面。 它抽象了常见的业务应用程序模式,使开发人员可以轻松实现美观优雅的界面。 可定制的全局导航允许您为您的业务创建可用的管理界面。 使用捆绑的...
对此的替代实现要求您将 Rails 应用程序端的默认序列化格式更改为类似 JSON 的格式 - 这不是,而是使用用 javascript 编写的基本(哈希/数组/字符串/数字) 。用法 var derail = require ( 'cookie-derail' ) ;var ...
b 一个更简单,更快速的Jbuilder替代方案。 安装 将此行添加到您的应用程序的Gemfile中: gem 'jb' 和捆绑。 用法 将名为*.jb的模板文件放在Rails应用... 然后,返回值将to_json修改为JSON字符串。 例子 # app/vi
Ruby解析Json把上面的json字符串解析成Array。这样的方法并不安全,比如: json = 'puts Danger Will Robinson' puts Unsafe #{unsafe_json (json).inspect} 又该输出什么呢?很遗憾,解析不出什么东西,跳出一个...
罗伊斯 ... 您甚至可以传入字符串和符号的混合数组。 class User < ActiveRecord :: Base royce_roles %w[ user admin editor ] # array of strings end class Sailor < ActiveRecord :: Base
типыданных:字符串,fixnum,浮点数,整数 类,数组。 杂凑 задачапросопротивление(законОма) преобразованиетиповданн
我们使用相同的 Ruby on Rails Active 支持字符串辅助方法来简化字符串操作。 #A Jquery Plugins For Some String Helper methods like Camelize, Underscore, Dasherize, Classify, Ordinalize, ForeignKey 所有...
编写使用Ruby语言使用基本构造的简单代码,包括方法和参数,条件,字符串和数组操作,正则表达式以及基本的面向对象的编程机制 了解Ruby项目约定,以了解代码文件和测试文件在项目的目录层次结构中的位置 使用RSpec...
I18nLinter ...只需在Ruby on Rails项目的文件夹中输入i18n_linter ,然后观察可以国际化的字符串即可。 注意:仅报告ruby文件中的字符串。 $ cd my/ruby_on_rails/project $ i18n_linter [options]
Ruby中的字符串是什么? 插补 索引编制 常用方法 整数 浮点数 歌剧演员 转换数字 Ruby中的符号是什么? 例子 常用方法 Ruby中的块是什么? 例子 块变量 创建一个数组 索引编制 访问元素 迭代 常用方法 创建范围 ...