`
jsntghf
  • 浏览: 2552561 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ruby中的奇特变量

阅读更多

Ruby奇特变量中有一种就是基于全局的魔法变量。掌握这些Ruby奇特变量可以帮助我们更好的编写代码,提高我们的编码能力。

 

先来看一个例子。

 

 

    str = "good day! jsntghf@sina.com It's a email"
    reg = /[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-\._]+/
    str =~ reg
    puts $`  # => good day!
    puts $&  # => jsntghf@sina.com
    puts $'  # =>  It's a email
    puts $.  # => 7

 

$&,$`,$' 这几个全局变量主要用于正则表达式中,$. 里面的内容是文件的总行数。

 

当你用match或者=~去匹配一个字符串和一个正则表达式时,结果是:$&存放字符串中匹配正则表达式的部分,$`存放字符串中$&部分的前一个字符串,$'存放字符串中$&部分的后一个字符串。

 

同时,在匹配后全局变量$1..$9里面存放的是匹配于正则表达式中的各个子内容。

 

接下来再看个例子。

 

 

    code = "<a href='http://www.google.com'>Google</a>"
    reg = /<a href='(.+)'>(.+)<\/a>/
    code =~ reg
    puts $1  # => http://www.google.com
    puts $2  # => Google

 

 

 

分享到:
评论

相关推荐

    类变量、全局变量、实例变量, 多态、为什么ruby、ruby编码规范

    在编程语言中,变量是存储...总结,理解并熟练运用Ruby中的类变量、全局变量、实例变量以及多态概念,对于编写高效、可维护的代码至关重要。同时,遵循Ruby编码规范,可以进一步提升代码的可读性,促进团队间的合作。

    Ruby中的变量学习总结

    Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头痛,经过仔细辨别学习,将这几种变量的差异及使用场景总结如下: ...

    Ruby中类变量和实例变量的比较

    ### Ruby中类变量和实例变量的比较 在Ruby编程语言中,类变量和实例变量都是用来存储数据的重要机制。它们虽然都是变量,但在用途、作用范围、生命周期等方面有着明显的区别。接下来,我们将详细介绍这两者之间的四...

    解析 ruby 全局变量

    ruby&gt; $foo nil ruby&gt; $foo = 5 5 ruby&gt; $foo 5 应谨慎使用全局变量.由于在任何地方都可以被写因此他们相当危险.滥用全局变量会导致很难隔离臭虫;同时也视为程序的设计未经严格考虑.当你发现必须要使用全局...

    Ruby语言教程:Ruby 变量示例

    #### 二、Ruby中的变量类型详解 ##### 1. 普通变量 (Variable) - **定义与使用**: - 普通变量通常以小写字母或下划线开头。 - 这类变量的作用域取决于它被定义的位置。例如,在方法内部定义的变量仅在该方法内部...

    Ruby中变量引用时的一些注意点

    ### Ruby中变量引用时的一些注意点 #### 一、引言 在Ruby语言中,变量引用的处理方式具有一定的灵活性和特殊性。本篇文章将详细探讨Ruby中的变量引用及其注意事项,帮助开发者更好地理解和掌握Ruby中变量引用的工作...

    01Ruby 变量.docx

    ### Ruby 变量详解 ...然而,需要注意的是,尽管 Ruby 提供了全局变量这样的特性,但在实际开发中应避免过度使用,以减少潜在的问题。总的来说,掌握这些变量的概念和用法对于编写高质量的 Ruby 代码至关重要。

    ruby 中文文档 必备资料

    在Ruby中,异常类是继承自`StandardError`的,你可以自定义异常类来处理特定类型的错误。 Ruby on Rails是Ruby最著名的Web开发框架,它遵循MVC(模型-视图-控制器)架构模式。这份文档可能也涵盖了Rails的相关内容...

    详细解析Ruby中的变量

    在前面的章节中已经经历了一个简短描述以及这些变量。本章中介绍的这五种类型的变量。 Ruby的全局变量: 全局变量以$开头。未初始化的全局变量的值是零,并使用-w选项产生警告。 全局变量的赋值会改变全局状态。这是...

    ruby中英文api

    在Ruby中,API主要体现在类、方法、模块和库的形式上,它们提供了丰富的功能供开发者使用。Ruby的官方API文档详细记录了每种内置类型、类、模块、方法以及它们的使用方式。"ruby中英文api"资料集可能包含了对这些...

    ruby中文教程,从基础到深入的让你学习ruby

    变量在Ruby中有四种类型:局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)和全局变量(以`$`开头)。数据类型包括字符串、数字、布尔值、数组、哈希等。控制结构包括条件语句(如...

    Ruby基础语法+Ruby变量与数据类型+Ruby控制结构+Ruby函数与方法+Ruby面向对象编程等全套教程

    Ruby变量与数据类型 Ruby控制结构 Ruby函数与方法 Ruby面向对象编程 Ruby模块与包 Ruby错误处理 Ruby文件与I/O操作 Ruby正则表达式 Ruby网络编程 Ruby数据库交互 Ruby测试框架 RubyWeb框架Rails入门 Ruby高级特性 ...

    ruby中文手册 chm

    用户指南通常会从基础开始介绍Ruby,包括变量、数据类型、控制结构(如if语句、循环)、函数、类与对象、模块、继承等。此外,还会涉及异常处理、文件操作、正则表达式和字符串处理等内容,这些都是Ruby编程的基础...

    ruby中文文档中心资料

    在Ruby中,Web开发最知名的框架是Ruby on Rails,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发。Rails提供了许多约定优于配置的特性,使得开发者可以更快速地构建功能丰富的网站。 总结起来,"ruby...

    Ruby-dotenv从env加载环境变量

    Ruby-dotenv是一个非常有用的Ruby gem,它允许开发者从一个名为`.env`的文件中加载环境变量,以便在开发环境中管理应用程序的配置。这个工具对于保持敏感信息的安全,如API密钥、数据库凭证或其他不应直接存放在代码...

    ruby语言帮助文档(简体中文)

    Ruby中的类和模块是构建对象的基础,类用于定义对象的结构和行为,模块则用于组织代码和实现多继承。 3. **方法**:Ruby的方法可以看作是对象的行为,可以定义在类、模块或者对象上。方法调用可以用点操作符(`.`)...

    ruby中文文档.chm

    在Ruby中,一切都是对象,包括基本的数据类型如字符串、数字和布尔值。这种特性使得Ruby在处理复杂问题时具有很高的灵活性。文档中将详细讲解Ruby的基础语法,如变量声明、控制结构(条件语句、循环)、函数和方法...

    Ruby中文教程及相关源代码

    3. **函数与方法**:Ruby中的函数定义和调用,块和 Proc 对象,以及方法的定义、重载和作用域。 4. **面向对象编程**:Ruby是纯面向对象的语言,讲解类的定义、继承、模块(Module)的使用,以及对象创建和消息传递...

    学习 Ruby 的笔记以及 Demo(简介、语言特性、应用场景、Ruby 注释、Ruby 文件的构造与析构语句Ruby 变量等)

    6、Ruby 变量 变量不能使用保留字,命名规则:小写字母 变量名只能由[a-z_0-1]组成,且只能由字母开头 使用 .class 可以获取数据的类型 variable='' # 声明变量 puts variable.class # String【Integer、Float、...

Global site tag (gtag.js) - Google Analytics