- 浏览: 190773 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (83)
- J2EE/Core Java (24)
- J2EE/Portal (2)
- J2EE/UI (4)
- J2EE/ATG (1)
- J2EE/Report (1)
- J2EE/Web Service/Rest API (2)
- Design Pattern (2)
- Arithmetic (4)
- Linux (12)
- Ruby&Rails (17)
- Database (5)
- J2EE/Payment (1)
- J2EE/JVM (1)
- Encryption/Decryption (3)
- J2EE/Multi Threading (4)
- SQL (1)
- https://community.teamviewer.com/t5/Knowledge-Base/Where-can-I-download-older-TeamViewer-versions-nbsp/ta-p/7729 (0)
最新评论
引用
Ruby代码块可以通过yield方法传递给被调用的方法
1 测试类
require 'book' require 'booklist' booklist = BookList.new() b1 = Book.new("iPod","123") b2 = Book.new("How Objects Work","2") booklist.add(b1) booklist[1]=b2 print booklist[0].title, "\n" print booklist[1].title, "\n" booklist.each{|book| print book.title, "\n" } booklist.print2{|x, y| print x,"\n" print y,"\n" } booklist.each_title{|title| print title,"\n" } author_regexp = /2/ booklist.each{|book| if author_regexp =~ book.author print "book.title: ",book.title, "\n" end } booklist.find_by_author(/2/){|book| print book.title, "\n" } p booklist.find_by_author(/2/)
2 操作类
require 'book' class BookList def initialize() @booklist = Array.new() end def add(book) @booklist.push(book) end def length() @booklist.length() end def []=(n,book) @booklist[n] = book end def [](n) @booklist[n] end def delete(book) @booklist.delete(book) end def each @booklist.each{|book| yield(book) } end def print2 yield(1,2) end def each_title @booklist.each{|book| yield(book.title) } end def find_by_author(author_regexp) if block_given? @booklist.each{|book| if author_regexp =~ book.author yield(book) end } else result = [] @booklist.each{|book| if author_regexp =~ book.author result << book end } return result end end end
3. 实体类
class Book attr_accessor :title, :author, :genredef def initialize(title, author, genre=nil) @title = title @author = author @genredef = genre end end
发表评论
-
Eigenclass in Ruby
2016-08-02 17:50 511obj = Object.new def obj.sin ... -
First DSL With Ruby
2016-08-02 16:23 541test_event.rb event "an ... -
Ruby Version of C# using keyword
2016-08-02 11:51 461class Resource1 def disp ... -
Rails4 集成测试微信公众号API
2016-01-17 20:34 1092这是一个简单集成微信api的的例子,使用这个Gem:https ... -
localtunnelling绑定本地Web应用到公网地址
2016-01-17 20:14 575引用Localtunnel will assign you a ... -
WordPress 风格开源博客 (响应式布局)
2015-08-09 23:42 706Rails4个人开源小博客 介绍: https://ruby ... -
Rails实现markdown和代码高亮
2015-08-07 11:47 770安装GEM Markdown是时下很流行的一种标记语言。 ... -
TextMate常见快捷键
2015-08-07 11:42 2296cmd + option + L 显示行号 cmd ... -
Rails插件twitter-bootstrap-rails
2015-08-07 11:40 578github完整项目 https://github.com/ ... -
Heroku个人博客
2015-02-10 12:04 6http://wilsoncai.herokuapp.com/ ... -
Rails 4 Quick Start
2014-12-13 10:47 0set rails gem proxy from Taobao ... -
Ruby1.8.7 安装和使用selenium
2013-06-21 17:54 1088引用Selenium可以用来模拟浏览器页面点击,可以用来做页面 ... -
Rails2.2.2之国际化
2013-01-27 23:52 8821. 新建国际化配置文件config\initializers ... -
Rails2.2.2之文件上传下载
2013-01-27 23:42 7791. 创建一个保存文件的表,然后rake db:migrate ... -
Rails2.2.2之发送邮件
2013-01-27 23:32 7541. config\environment.rb中添加smtp ... -
Rails2.2.2之will_paginate分页
2013-01-27 23:04 1203引用分页是web开发中常见的问题,基本解决思路是每次查询当页的 ... -
Ruby发送邮件(163邮箱)
2011-10-25 17:27 7119Ruby1.8.6发送163邮件到gmail require ... -
Rails2.2.2之windows环境搭建
2010-07-20 15:46 3742引用如果gem速度慢 使用代理安装rails 引用gem in ...
相关推荐
Ruby中的代码块(block)是语言的核心特性之一,它允许开发者定义可执行的代码段,并在需要的时候通过`yield`关键字调用。代码块通常由`{}`或`do...end`包围,它们不是独立的类,但可以转换为`Proc`类的对象。对于初学...
接下来我们将深入探讨Ruby代码块的声明、块内变量的访问、`yield`语句以及代码块的参数传递,以及通过`instance_eval`等其他方式传递块。 首先,**块的声明**有两种主要形式:使用`{}`或`do..end`。`{}`通常用于...
在Ruby编程语言中,代码块(block)是一种非常重要的特性,它允许程序员定义一段可执行的代码,并在需要时调用。然而,由于代码块本身不是对象,...理解并熟练运用Proc对象,能够帮助提升Ruby代码的灵活性和可维护性。
4. 块和闭包:Ruby中的块是一段可以被传递、存储和执行的代码,与闭包紧密相关,支持函数式编程风格。 5. 自动内存管理:Ruby采用垃圾回收机制,自动处理内存分配和释放,减少了内存泄漏的风险。 6. 标准库:Ruby...
本篇文章将深入探讨Ruby代码规范,帮助开发者养成良好的编码习惯。 1. **命名规范** - 变量名:使用小写字母和下划线,例如 `user_name`。 - 常量名:全大写字母,单词间用下划线分隔,如 `MAX_USERS`。 - 类名...
- Blocks与Procs:Ruby中的代码块用于传递代码,Procs是可存储的代码块,Lambda更接近函数行为。 - Symbols:不可变对象,常用于方法参数、哈希键等,以提高效率。 - Mixins:Ruby的模块系统允许类间共享代码,...
食谱则包含了如何配置这些节点的指令,是一系列用于实现特定功能的Ruby代码块。库房是食谱的集合,它通常包含相关配置文件和依赖关系,用于在整个环境中进行部署。资源是Chef的基本构建块,代表了要在系统上执行的...
4. **块(Block)与 Proc**:Ruby支持代码块,通常由`do..end`或花括号`{}`包裹。Proc是代码块的可存储版本,可以作为参数传递或赋值给变量。 5. **闭包(Closure)**:Ruby的块和Proc具有闭包特性,即它们能记住...
2. **相似性检测**:它会将代码分解成独立的“代码块”,然后比较这些代码块之间的结构和内容。 3. **分数计算**:根据代码块的相似程度,Flay会为每一对相似代码块分配一个分数。 4. **报告生成**:最后,Flay会...
5. **异常处理**:如何使用`begin-rescue-end`块进行错误处理是Ruby编程中的重要一环,书里可能会讲解异常类和如何捕获及处理错误。 6. **文件和IO操作**:Ruby提供了方便的文件和输入/输出操作,书里可能包含读写...
RubyCritic是一款强大的Ruby代码质量报告工具,专为Ruby开发者设计,用于提升代码质量和可维护性。这款工具通过对代码进行静态分析,生成详细的评分、建议和改进意见,帮助开发者识别并修复潜在的问题,从而实现代码...
### 深入理解Ruby中的代码块block特性 在Ruby编程语言中,代码块(block)是一种非常重要的概念,它不仅频繁地出现在各种程序中,还具有独特且强大的功能。本文将详细介绍Ruby中的代码块特性,包括其定义、用法以及...
在Ruby中,BEGIN和END块分别用于定义当文件被加载时要执行的代码块以及程序退出时要执行的代码块。 ##### 5.1 BEGIN块 - **定义**: 在文件的任何位置都可以定义BEGIN块,但其代码会在文件加载时执行。 - **示例**:...
总的来说,Ruby 1.9 是一个重大更新,它的目标是提升Ruby的效率和表达能力,但这也意味着开发者必须适应新的规则,更新他们的代码库以保持兼容性。这一过程既是一个挑战,也是Ruby语言不断演进的证明。对于那些希望...
这个方法接受一个符号作为方法名和一个代码块,然后在指定的对象或类上创建一个新方法。 2. **类和模块的开放性**:Ruby的类和模块在运行时可以被修改,这意味着你可以在程序的任何时刻向它们添加新的方法或属性。`...
ERB允许在HTML中嵌入Ruby代码,通过`<% %>`和`<%= %>`来区分纯Ruby代码块和输出表达式。前者执行代码但不输出,后者将Ruby表达式的结果输出到HTML。 2. **实例变量**: 在Rails的控制器中,我们通常会创建实例变量...
如果需要,还可以使用守护程序在守护进程中运行ruby代码块,并从主应用程序控制这些进程。 除了此基本功能之外,守护程序还提供了许多高级功能,例如异常回溯和日志记录(以防您的ruby脚本崩溃)以及监视和自动重启...
swagger-blocks, 定义和服务 ruby 应用程序的动态更新 Swagger Swagger::Blocks Swagger::Blocks 是一个用于纯 ruby 代码块的DSL,可以转换为 JSON 。它帮助你以 Swagger 风格编写API文档,然后自动构建与 Swagger ...