- 浏览: 255451 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
px_dn:
谢谢!!
ubuntu server替换更新源 -
clark1231:
boiaprogramfan0420 写道求教一个问题 oc ...
像hackers一样写博客(三):幫你的Octopress增加文章分類 -
boiaprogramfan0420:
求教一个问题 octopress的read on功能怎么实现 ...
像hackers一样写博客(三):幫你的Octopress增加文章分類 -
leorn:
帮我解决问题了,谢谢
rails post方式提交表单,session丢失的解决办法 -
clark1231:
微博分享那个功能,我就给了个看到的链接,那个又不是我写的。我写 ...
像hackers一样写博客(二):Octopress设置与增加微博的侧边栏
一、循环结构
1. for…in语句:
Ruby提供的for...in语句主要用于迭代数组和Hash对象中的元素,与其它语言的for语句有一定的差距,语法格式:
- for val in Array | Hash | Range [do]
- #code
- end
迭代数组:
- for i in ['one','two','three'] do
- puts i
- end
- 迭代Hash对象:
- h = {1=>'aaa',2=>'bbb'}
- for i in h
- puts i[0] .to_s + “ : ” +i[1].to_s
- end
- OR------------------------------------------
- for key,value in h #指定多个循环变量
- puts key.to_s + ": "+ value.to_s
- end
另外,在Ruby中除了可以用for…in来迭代数组和Hash对象外,还可以用each方法来进行迭代:
- ['one','two','three'].each do |x|
- puts x
- end
- ----------------------------------------
- {1=>'aaa',2=>'bbb'}.each do |a,b|
- puts a.to_s + ": " +b.to_s
- end
(1)使用for…in语句时,每次只能取出一个数组元素,而不能一次取出多个。
(2)当for循环的代码全在一行上时不能省略掉do,否则会报错; 只有当for循环的代码在多行上时才可以省略掉do;
2. Blocks:
在Ruby中有两种定义块的方法:
- do…end 和{…}
- #do…end
- [‘1’,’2’,’3’].each do |a,b,c|
- Puts(‘#{a},#{b},#{c}’)
- end
- # 大括号 {..}
- [[1,2,3],[3,4,5],[6,7,8]].each{ |a,b,c|
- puts( "#{a}, #{b}, #{c}" )
- }
3. While语句:
这个和其它语言差别不大,没什么好说的,语法格式如下:
- while condition [do]
- #code
- end
- ----------or------------------------
- code while condition
- begin
- code1
- code2
- end while condition
- x=100
- begin
- puts("x=#{x}")
- end while(x<100) #output:x=100
- puts ("-------------------")
- y=100
- puts("y=#{y}") while(y<100) #无输出
until语句与while语句作用正好相反,当条件表达式返回结果为假时执行循环体,直到条件表达式为true为止,语法格式:
- until condition [do]
- #code
- end
5. Loop 语句
这是Ruby中提供的一个内建的最基本的迭代器,它可以执行循环功能,它会对指定代码进行无限次的循环,除非使用break语句跳出循环,语法格式:
- loop{
- #code
- }
- -------------------or------------------------
- loop do
- #code
- end
1. If…Then…Else/If…:…then(可以用冒号代替Then)
if x == 1 then puts( 'ok' ) end # with 'then'
if x == 1 : puts( 'ok' ) end # with colon
if x == 1 puts( 'ok' ) end # syntax error!代码在一行时不能省略then
2. And…Or…Not/&&…||…!
Ruby中有两种方式来判定一个布尔表达式的值是true/false,但是这两种操作符不是完全等价的,比如他们的计算优先级别就不一样,&&/||/!的优先级别要高些,所以一般用的时候尽量不要将这两种操作符混合起来用;
- if 1==2 and 2==3 or (||)3==3
- puts('hello')
- end
- --------------------or------------------------
- if 1==2 && 2==3 || 3==3
- puts('world')
- end
该语句与if语句作用正好相反,当条件表达式返回结果为假时,计算then关键字后的代码片段,与if语句不同的是,unless语句中不能使用elsif语句,因些不能处理多分支的程序流程,语法格式如下:
- unless condition [then]
- #code1
- [else
- #code2 ]
- end
在Ruby中,将case关键字后表达式的值与各个常量进行比较时,使用的是”===”比较运算符,这就是说when关键安后的常量可以是一个Range对象, 此时只要case后的表达式的值在Range内,就可以执行相应的when后的代码片段了; 语法格式:
case [表达式]
[when 常量1 [,常量2] [,常量] then
#code1
]
[when 常量1 [,常量2] [,常量] then
#code2
]
[else
#code3
]
end
在case语句中,将case关键字后的表达式的值依次与when后的多个常量进行比较,一但相等,则执行对应的when语句块中的代码片段;
- case(i)
- when 1: puts(“It’s Monday”)
- when 2: puts(“It’s Tuesday”)
- when 3: puts(“It’s Wednesday”)
- when 4: puts(“It’s Thursday”)
- when 5: puts(“It’s Friday”)
- when (6..7): puts(“It’s the weekend!”)
- else puts(“error”)
- end
- ------------------or------------------------
- case(i)
- when 1
- puts(“It’s Monday”)
- when 2
- puts(“It’s Tuesday”)
- when 3
- puts(“It’s Wednesday”)
- when 4
- puts(“It’s Thursday”)
- when 5
- puts(“It’s Friday”)
- when (6..7)
- puts(“It’s the weekend!”)
- else
- puts(“error”)
- end
发表评论
-
Ruby Require vs Load vs Include vs Extend
2013-02-18 16:42 1150load load用来多次加 ... -
发送ip地址和指定文件到某邮箱
2012-12-03 15:39 1218#!/usr/bin/env ruby # # ARGV[ ... -
jruby1.6.7.2 integer can't round
2012-07-10 09:32 962在jruby-1.6.7.2中 integer无法取roun ... -
ruby中的逻辑运算符
2012-06-11 07:43 1541def current_user @current_us ... -
the difference between nil, true, false, blank and empty
2012-06-07 16:20 1085The Nil Expression It’s pretty ... -
浅谈Ruby on Rails中的include和extend
2012-04-23 21:47 1158从模块引入方法、变量,使得编程变得简单,扩展性愈 ... -
ruby和rails的编程风格
2012-04-21 09:31 1119Ruby 社区首推的代码编写风格 原文: https ... -
Float round bug in ruby?
2012-03-24 07:35 1185ruby-1.8.7 > 1.55.round(1 ... -
Using select, reject, collect, inject and detect.
2012-03-08 15:53 910Looping in Ruby seems to be ... -
ruby字符串处理函数
2012-02-28 15:46 11631.返回字符串的长度str.length => i ... -
六种用ruby调用执行shell命令的方法
2012-01-12 10:47 1069原创作品,允许转载,转载时请务必以超链接形式标明文章 ... -
Rubygems 镜像 - 淘宝网
2012-01-11 12:21 1100由于国内网络原因(你懂的),导致 rubygem ... -
Ruby 中获取目录大小
2012-01-07 22:33 940当前 Chito 中统计目录大小完全是偷懒的方式: ... -
Rubygem 常用命令整理
2011-12-23 09:00 1872gem install gem-name # 安装g ... -
带序号循环Hash
2011-12-16 09:19 1086hash.keys.each_with_index do ... -
ruby case表达式
2011-12-07 16:27 9644Ruby 中的 case 语句非常强大,首先我们来看一个 ... -
Ruby 之 Block, Proc, Lambda
2011-12-06 16:54 1174Block 不是对象,是Ruby的语言特性,近似于闭包(C ... -
rails 上载xls文件
2011-12-02 15:09 1626以下两种form都可以上载文件(http://guides. ... -
rails 文件下载功能
2011-12-01 14:09 2576controller: class DownCon ... -
count vs length vs size
2011-11-08 15:47 1108In Ruby, #length and #size a ...
相关推荐
从给定的文件信息中,我们可以提炼出一系列关于Ruby编程语言的重要知识点,涵盖基础语法、变量类型、数值操作、条件语句、循环结构以及字符串处理等核心领域。 ### Ruby基础语法 #### 注释 Ruby提供了两种注释方式...
根据提供的“ruby学习笔记”内容,我们可以从中提炼出多个重要的Ruby编程知识点,这些知识点对于初学者来说非常有用。下面将对这些知识点进行详细的解释与扩展。 ### 一、Ruby中的全局变量 Ruby提供了多个特殊变量...
Ruby支持多种控制结构,包括条件语句(if-else)、循环语句(for、while、until、each等)和异常处理(try-catch-finally)。 示例代码: ```ruby # 条件语句 num = 10 if num > 10 puts "Number is greater than...
在学习过程中,你将接触到控制结构(如if语句、循环)、类和对象的创建、模块的使用、异常处理、文件和IO操作等基础内容,也会了解到如何使用Gem(Ruby的包管理器)安装和管理外部库,以及如何调试和测试Ruby代码。...
"ruby笔记2ruby笔记2ruby笔记2"可能是指一系列关于Ruby学习的笔记,这些笔记可能涵盖了Ruby的基础概念、核心特性以及进阶话题。在Ruby的学习过程中,理解和掌握以下几个关键知识点至关重要: 1. **面向对象编程...
2. **方法与块(Methods and Blocks)**:Ruby中的方法是用来封装代码的结构,可以被对象调用执行特定任务。块是Ruby的另一大特色,类似于匿名函数,通常用`do...end`或`{...}`表示,常用于迭代和回调。 3. **变量...
以上只是Ruby基础知识的一部分,实际上Ruby还支持块、 proc 和 lambda,模块(module)实现代码复用和类别(class)定义对象结构,以及强大的元编程能力,使得Ruby成为一个强大而灵活的开发工具。学习并熟练掌握这些...
在Ruby笔记3中,我们将会深入探讨这个强大的语言的各个方面,包括基础语法、类与对象、模块、方法、控制结构、异常处理、文件操作以及一些高级特性。 首先,让我们从基础语法开始。Ruby中的变量分为四种类型:局部...
Ruby的控制结构,如if语句、while循环和case语句,与其他高级语言类似但更为灵活。例如,if语句可以直接比较对象,无需使用等于运算符。Ruby还支持块(block),这是一种代码片段,可以与方法一起使用,类似于其他...
### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...
《Python 学习笔记 第三版1》是一本面向有一定Python编程基础的读者的书籍,旨在深入解析Python 3.6的语言特性。作者虽然已经具备一定的写作经验,但仍然谦虚地表示无法确保内容完全正确,同时满足所有人的需求。他...
这篇笔记将深入探讨Ruby的一些基础语法,包括变量、控制结构、类和对象、字符串操作以及循环。 首先,Ruby中的变量分为四种类型:全局变量(以`$`开头)、类变量(以`@@`开头)、方法变量(以`@`开头)和局部变量...
通过以上内容的学习,我们了解了Rails的基本环境搭建、应用创建、控制器与视图的关系、动态内容的展示方式以及敏捷开发的思想。Rails以其高效简洁的特点,成为了Web开发领域的重要工具之一。掌握Rails不仅能够提高...
首先,for in循环是一种在JavaScript中非常常用的操作对象属性的循环结构。它可以帮助我们遍历一个对象的所有可枚举属性,包括对象自身的属性以及从其原型链上继承的属性。这意味着,当你在使用for in循环遍历一个...
Scala支持各种循环结构,包括`for`循环和`while`循环。其中,`for`循环支持更高级的迭代方式,例如模式匹配迭代。 ##### 4.6 调用方法和函数 Scala中的方法调用通常遵循传统的调用方式。而函数则是可以传递给其他...
"programming_language:编程语言学习笔记"这一主题旨在整理和探讨各种编程语言的关键特性、语法结构以及在实际开发中的应用。 首先,编程语言可以分为几大类别,如低级语言(机器语言和汇编语言)和高级语言(如C,...
在Ruby编程语言中,笔记可能涵盖了许多主题,包括基本语法、数据类型、控制结构、类与对象、模块、方法、异常处理、文件操作以及与其他语言的交互等。下面将对这些核心概念进行深入探讨。 首先,Ruby是一种面向对象...
- 进入中级阶段,学习者将深入到更复杂的编程主题,如设计模式、算法与数据结构、数据库管理和网络编程。设计模式可以帮助开发者写出更高效、可维护的代码,而理解算法和数据结构则是优化程序性能的关键。 - 学习...
6. **深度学习框架**:尽管标签为 Ruby,但通常深度学习会用 TensorFlow、PyTorch 或 Keras 等框架,这些框架的使用方法和如何与 Ruby 集成可能是课程的一部分。 7. **数据预处理**:如何清洗、归一化和增强数据,...
1. **基础语法**:Ruby的基础元素,如变量、数据类型(整数、浮点数、字符串、布尔值、数组、哈希等)、控制结构(条件语句、循环)以及函数的使用。 2. **面向对象编程**:Ruby是完全面向对象的语言,所以会涵盖类...