`
gift5168xf
  • 浏览: 28987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails 对 ruby 的扩展

    博客分类:
  • ROR
阅读更多

rails ruby 的扩展

1 对象扩展

rails ruby 的扩展 ruby 对象转化成 json 格式 :

对象为: new (“ rails “, [10,10,9,1] #=> 对象 .to_json 对象变成了 ["rails",[10,10,9,1]]

2 空值检测扩展

检查对象是否为空:对象 .blank? 空则返回 false 不空则返回 true

3 枚举数组扩展

集合 .group_by |post| post.author_id }对集合进行分组。返回一个 hash ,键为对象的 author_id, 每个键所对应的值为 author_id 对应的数组

集合 .sum{|order| order.value} 对集合中每一个对象的 value 值进行加和

4 字符串扩展

1 )连接字符串

Jack”+”wang” #=>”jackwang”

2 )字符串乘法

“happy”*3 #=>”happyhappyhappy”

3 )字符串比较 ( 实际是对字符 ASCII 值进行比较 )

“x”>”y” #=>false

“y”>”x” #=>true

4 )求字符串 ASCII 值用 ?字符串

?x #=>#120

?y #=>#121

5 )数字代表的字符

120.chr #=>x

121.chr #=>y

6 )需要替换的表达式放入 # {}

x=5 y=6 puts “#{x}+#{y}” #=>5+6

7 )字符串中插入字符串变量

man=”jack”

“#{man} is handsome” #=>jake is handsome

8 )字符串常用方法

“jack”.capitalize #=>Jack

“Jack”.downcase #=>jack

“Jack”.chop #=>jac 去掉最后一个字母

“Jack”.hash #=>540559965

“Jack”.next #=>jacl 最后一字符 ASCII 1

“Jack”.reverse #=>kcaJ 将字母倒序输出

“Jack”.sum #=>337 每个字母的 ASCII 值相加

“Jack”.swapcase #=>jACK 字母大小写取反

“Jack”.upcase #=>JACK 将字母全部转换成大写

“jack”[0,2] #=>ja

“jack”.slice(0,2) #=>ja

“hello”.count(“l”) #=>2

9 )替换字符串的某一范围内的值

a=”hello world”

a[1,3]=”jack” #=>a 的值为 Hjacko world

10 )删除字符串

“hello”.delete(“l”,”lo”) #=>he

11 )判断空

a=””

a.empty? #=>true

b=”jack”

b.empty? #=>false

12 )以 replace 来替换字符串中所有与 pattern 相匹配的部分

“hello”.gsub(/[aeiou]/, ‘*’) #=>h*ll*

13 )用 replace 来替换首次匹配 pattern 的部分

“hello”.sub(/[aeiou]/, ‘*’) #=>h*llo

14 )判断包含指定字符串 ( 指定的是字符串,若下例中指定 ”ho” 则也不成 )

“hello”.include? “lo” #=>true

“hello”.include? “a” #=>false

15 )返回搜索到指定字符串左侧位置

“hello”.index(‘lo’) #=>3

“hello”.index(‘a’) #=>nil

16 )对字符串中各行迭代操作,对各个字节进行迭代操作

“Hi\nRuby”.each {|s| puts s} #=>Hi Ruby

“Hi\nRuby”.each_line {|s| puts s} #=>Hi Ruby

“Hi\nRuby”.each_byte {|s| puts s} #=>72 105 10 82 117 98 121

17 )拆分字符串

“mellow yellow”.split(“ello”) #=>m,w y,w

18 )压缩重复的字符串

“yellow moon”.squeeze #=>yelow mon

19 )删除头部和尾部的所有空白字符。空白字符是指 ””t”r”n”f”v”

hello ”.strip #=>hello

20 )字符串的遍历

字符串对象 .at(2) 选择字符串中第 3 个字符

字符串对象 .from(8) 选择第 8 位开始以后的字符串

字符串对象 .to(8) 选择第 8 位字符串之前的字符串

字符串对象 .first 选择字符串中第一位字符
字符串对象 .first(3) 选择前 3 位字符

字符串对象 .last 选择最后一个字符

字符串对象 .last(3) 选择后 3 个字符串

字符串对象 .starts_with?(“no”) 是否以 no 开头 返回 true false

字符串对象 .ends_with?(“me”) 是否以 me 结尾 返回 true false

字符串对象 .each_char {|ch| …..} 遍历字符串中每一个字符

字符串对象 .pluralize 将字符串转化成复数

字符串对象 .singularize 将字符串转化成单数

5 数值的扩展

6 时间和日期扩展

Time.now 当前时间

Date.today 当前日期

20. 计时单位 .ago 20 / / / 星期之前

20. 计时单位 .from_now 20 / / / 星期之后

时间与数据库可以接受的字符串格式的转化

Time.now.to_s(:db) 字符串(符合时间的字符串)

将日期转化成数据库可以接受的字符串格式

Date.today.to_s(:db)

时间日期相互转化

Time.now.to_date Date.today.to_time

注:时间类型之间可以互相运算,结果是天数

7Ruby 符号的扩展

对于迭代器中{}里被迭代的对象 可以用{ & :属性}注意:只适合迭代对象的属性的。若是被迭代对象不只主要语句快执行的内容则不能够实现如:{ |ch| count[ch] }的语句快就不适合

8Unicode 扩展(见书)

分享到:
评论

相关推荐

    ruby on rails 101

    - **推动者**:Dave Thomas和他的Pragmatic Programmers团队对Ruby on Rails的发展起到了重要的推动作用。 #### 四、Rails简介 Ruby on Rails是一个开源Web框架,专注于提升程序员的工作效率和产品的可持续性。它的...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权管理,Paperclip或Carrierwave处理文件上传等。虽然这些可能需要适配老版本,但它们能极大地增强你的...

    ruby on rails最新版

    使用Ruby on Rails最新版进行开发,开发者不仅可以享受到高效的开发流程,还能通过强大的社区支持和丰富的第三方库(如Gem)扩展其功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave...

    ruby on rails 3 tutorial.pdf

    随着学习的深入,你将探索更高级的主题,如AJAX集成、Caching技术以提升应用性能,以及如何利用gem(Ruby的库)来扩展Rails的功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave处理...

    ruby on rails api

    5. **ActiveSupport**:提供了一系列有用的工具和库,如时间助手、字符串操作、哈希扩展等,增强了Ruby的基础功能。 6. **Routes**:Rails的路由系统将URL映射到控制器的行动上,定义了应用的导航结构。 7. **...

    ruby on rails 教程源码

    Ruby on Rails,简称Rails,是基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使开发过程更加简洁高效。这个“ruby on rails 教程源码”很可能是为了辅助学习者深入理解Rails的...

    Ruby on Rails入门例子

    Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构...同时,Rails社区的活跃度高,有大量的插件和 gems 可供扩展功能,为开发者提供了丰富的资源和支持。

    Ruby On Rails教程

    ### Ruby on Rails 教程知识点概述 #### 一、引言 - **敏捷开发与Rails:** 本书《Ruby on Rails教程》强调了Rails作为敏捷开发框架的优势。它旨在帮助开发者快速构建高质量的Web应用程序。 - **作者团队:** 本书...

    ruby on rails社区网站开发源码

    13. **社区插件(Gems)**:Rails的生态系统中有大量高质量的第三方Gem,如Devise(用户认证)、Pundit(授权管理)、Paperclip或Carrierwave(文件上传)等,它们可以极大地扩展Rails的功能。 通过研究这个源码,...

    基于ruby on rails开发示例源码

    Ruby on Rails,简称Rails,是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。本示例源码提供了使用Ruby on Rails进行实际项目开发的具体...

    ruby1.8.7 & rails2.3.8

    Gems是Ruby生态中的关键组成部分,它们是预编译的代码库,用于扩展Ruby的功能。 标签"ruby1.8.7 rails2.3.8 gem ruby rails"进一步强调了这个包的主要技术元素。"gem"指的是Ruby的包管理系统,用于安装和管理各种...

    Ruby on Rails 指南 v5.0.1 中文版

    - **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种用于开发服务器端应用程序的模型-视图-控制器(MVC)框架,它...

    ruby on rails在线考试系统

    7. Gems和插件:Rails社区提供了大量的Gems(Ruby的包管理系统),可以方便地扩展功能。例如,Devise用于用户认证,Cancancan进行权限控制,Paperclip或Carrierwave处理文件上传等。 8. 安全性:Rails内置了一些...

    ruby on rails 2.2.2 参考手册

    7. **ActiveSupport**:这个库包含了各种实用工具和扩展,如时间辅助方法、字符串操作等,广泛应用于Rails项目。 8. **测试**:Rails内置了测试框架,包括Unit Test、Functional Test和Integration Test,通过`test...

    JRuby和Rails-让Ruby语言融入于Java项目.rar

    解释JRuby与MRI(Matz's Ruby Interpreter,标准的Ruby解释器)的区别,包括JRuby对Java类库的兼容性。 2. **Ruby on Rails概述**:解释Rails的基本概念,如路由、控制器、模型、视图,以及ActiveRecord ORM(对象...

    Ruby on Rails实例开发

    在Rails中,Ruby的元编程能力使得框架能够灵活地自定义和扩展。 Rails的核心理念是DRY(Don't Repeat Yourself),鼓励代码重用,避免重复编写相似的代码。此外,它还提供了大量的内置功能和库,如ActiveRecord用于...

    Ruby on Rails 手順

    3. **DevKit安装**:RubyMine虽然提供了很多便利,但为了能够编译Ruby中的C扩展,你还需要安装DevKit。这是一个包含了Windows平台所需的开发工具的集合。你可以从RubyInstaller的GitHub页面获取DevKit,按照官方文档...

    ruby on rails 实践

    最后,本章还包括了生产环境的部署步骤,以及一些常用的Ruby Gems(扩展库)。 为了方便读者学习,作者提供了书籍的电子版供免费阅读,并提供了两个下载地址。作者鼓励读者在学习过程中注册GitHub账号,建立学习...

Global site tag (gtag.js) - Google Analytics