`
freeport
  • 浏览: 60920 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

ruby初级语法知识

阅读更多

''与""的区别:''处理的少,""处理的多,""可以加入#{expression},如果expression是一个实例变量类变量或者是全局变量,{}可省略。
全局变量$开头,实例变量@开头,类变量@@开头
类名,模块名,常量以大写字母开头,用驼峰表示法写如class KaraokeSong
@之后不能跟数字
实例变量用_把单词隔开
方法名可以以?!=字符结束
数组和散列表
数组中a=%{ant bee cat dog elk}访问a[0],a[1]...
用%可以省略''和逗号
散列表中a={'key1'=>'value1','key2'=>'value2','key3'=>'value3'}
key必须唯一,访问方法:a['key1']->value1
控制结构:
if ; while
if expression
       action
end
while expression
      action
end
-----------<=>
action if expression
action while expression
正则表达式/.../:
/a+b/--------1个或多个a后是b(并不是以b结尾)
/a*b/-----------0个或多个a后是b(并不是以b结尾)
\s匹配空白符(如空格符,制表符,回车等等)#space
\d匹配任何数字            #digital
\w匹配会出现在一个词内的任何字符       #word
. 匹配几乎任意字符
使用regexp: =~来得出是否匹配
例:if line=~/.../
...
sub 和 gsub(substitution)替换命令,用法:
line.sub(/perl/,'ruby')用ruby替换第一个'perl'
line.gsub(/perl/,'ruby')用ruby替换所有的'perl'
#Block和迭代器
单行block用{},多行用do..end
用法:
def call_block
  puts "start of method"
  yield
  yield
  puts "End of method"
end

call_blcok {puts "in the block"}
输出:start of method
in the block
in the block
End of method
yield还可以调用参数传递给block,
def call_block
yield("hello",99)
end

call_block {|str, num| action use the arguments}

block实现迭代器(iterator)
数组.each {|arg| ...}
5.times {action}
3.upto(6) {action}

分享到:
评论

相关推荐

    RUBY初级教程,讲得很清楚

    这个“RUBY初级教程”旨在帮助初学者深入理解Ruby的基本概念和语法结构。在本教程中,你将逐步学习如何使用Ruby进行编程,从最基础的语法元素开始,直到能够编写简单的程序。 首先,Ruby的基础语法包括变量、常量、...

    ruby初级中文教程与实例

    总之,"Ruby初级中文教程与实例"将带你全面了解Ruby的基础知识,通过实践提升编程能力,为后续深入学习和开发奠定坚实基础。随着对Ruby的熟悉,你会发现它不仅易于上手,而且拥有无限的创新可能。

    Ruby最简单的初级教程

    Ruby是一种面向对象的、动态...通过阅读《Ruby初级教程.chm》文件,你将深入理解Ruby的基本概念、语法和实践技巧,为后续的Ruby编程打下坚实基础。不断练习和探索,你将领略到Ruby的魅力,并能够运用它解决实际问题。

    Ruby学习资料(含参考手册和Programming Ruby)-中文.rar

    其次,"Ruby初级教程(Ruby用户指南).chm"是针对初学者的教程,它详细解释了如何开始使用Ruby,包括安装Ruby环境、编写第一个程序、变量、控制结构等基础知识。对于刚接触Ruby的人来说,这是个很好的起点。 "Ruby...

    易语言源码ruby脚本编辑器易语言源码.rar

    在编程领域,源码是理解软件工作原理的钥匙,而易语言作为一款中国本土化的编程语言,以其独特的语法和简洁的界面,深受初级和中级程序员的喜爱。同样,Ruby语言以其优雅的语法和强大的元编程能力,成为许多开发者的...

    Ruby-on-Rails-3.rar_site:www.pudn.com

    1. **Ruby基础**:讲解Ruby语言的基本语法、面向对象编程特性,以及如何运用这些特性来编写简洁的代码。 2. **Rails安装与配置**:指导如何在开发环境中设置Ruby和Rails,包括Gemfile管理依赖项,以及数据库配置。 3...

    Fred Wu:如何通过努力和一些小聪明,成为一个更优秀的Ruby程序员

    - 要深入了解Ruby的语法结构、面向对象编程特性以及元编程能力等核心概念。这些是编写高效、可维护代码的基础。 - 熟悉Ruby生态系统中的常用工具和库,比如Rails框架等,可以提高开发效率。 3. **培养良好的编码...

    程序员从初级到高级的秘诀(经验之谈)

    ### 程序员从初级到高级的秘诀(经验之谈) 在IT行业中,从一名初学者成长为一位高级程序员并非易事,它需要时间和努力。本文将深入探讨从程序员到中级程序员所需经历的过程以及如何逐步提升自身技能。下面将根据...

    ruby-challenge-problems:解决Ruby问题的解决方案的集合

    总的来说,"ruby-challenge-problems"不仅是一个学习工具,也是一个提升编程技能、分享知识和经验的社区资源。通过参与这些挑战,开发者可以深入理解Ruby语言,同时增强自己的问题解决能力和代码审美。无论你是初学...

    程序员学习使用的代码

    这可能涵盖了初级到高级的各种学习资源,包括基础语法教程、进阶技巧、实战项目、调试方法等。 压缩包子文件“tc_noccommand.rb”是一个Ruby语言的脚本文件。Ruby是一种面向对象的、动态类型的编程语言,常用于Web...

    浙江省金华市金东区傅村镇初级中学2015届高三英语适应性考试(一)试题

    【标题】提到的是"浙江省金华市金东区傅村镇初级中学2015届高三英语适应性考试(一)试题",这表明这是一个针对高三学生的英语考试,可能包含听力、阅读理解、完形填空、语法填空、写作等多个部分,旨在测试学生的...

    Codewars-Ruby:我对Codewars的Kata的解决方案

    本项目包含了我在Codewars上完成的Ruby Kata的解决方案,让我们一起深入探讨这些代码,学习其中蕴含的Ruby知识。 1. **基础语法和控制结构** Ruby以其简洁的语法著称,如`if`、`unless`、`while`和`for`循环。在...

    training_curriculum

    在"first_training"这个子文件中,很可能是初级阶段的学习资料,涵盖了Ruby的基础概念和语法。 1. **变量与数据类型**:Ruby支持多种变量类型,包括局部变量、实例变量、类变量和全局变量。它有五种基本的数据类型...

    Dev-Blog

    在这个项目中,我们重点探讨Ruby的核心概念、语法特性、开发工具以及最佳实践,帮助初级到中级水平的Ruby程序员提升技能,并对高级话题有所了解。 Ruby是一种面向对象的、动态类型的编程语言,由Yukihiro "Matz" ...

    0万里长征第一步(非常重要) —— 如何愉快的阅读本小册(1).md

    标题中的“0万里长征第一步”暗示了这本小册是学习数据库或MySQL的初级阶段,对于初学者而言,掌握基础非常重要,就像万里长征的第一步,虽然艰难,却是取得成功的必要准备。同时,标题中的“如何愉快的阅读本小册”...

    关于我的克隆

    Ruby 是一种面向对象的、动态类型的编程语言,以其简洁和可读性强的语法而闻名。它广泛用于Web开发,特别是与Ruby on Rails框架结合使用时,可以快速构建功能齐全的Web应用。 由于压缩包文件名为 "about-me-clone-...

    smallproject-1

    《深入探索小型项目“smallproject-1”:Ruby编程实践》 在当今的软件开发领域,Ruby作为一种简洁、高效且...通过对该项目的深入剖析,我们可以提高自己的Ruby编程技巧,并更好地理解如何在实际项目中应用这些知识。

    node.js入门[借鉴].pdf

    因此,本书更像是一本"初级到高级入门"的指南,旨在为已经有一定编程基础的读者提供一条明确的学习路径,帮助他们高效地掌握Node.js开发,而不是一本全面涵盖所有细节的权威教材。 在阅读本书之前,读者应具备一定...

    json和xml比较

    JSON 的语法规则简单,易于理解和实现,而 XML 的语法规则复杂,需要学习和掌握更多的知识。 内容解析 就内容解析而言,JSON 在客户端只要使用 eval() 便可完成解析,在服务器端有包括 ActionScript, C, C#, ...

Global site tag (gtag.js) - Google Analytics