0 0

新人ruby问题~~恳请大家帮忙看看5

class SimpleProc
   def to_proc
       proc {"Simple Proc"}
   end      
end
  
def method
    yield
end

obj = SimpleProc.new
puts method(&obj)


55555,为什么结果会是:Simple Proc

2008年11月15日 20:57

2个答案 按时间排序 按投票排序

0 0

采纳的答案

to_proc应该相当于java里的tostring方法把

2008年11月17日 10:48
0 0

   1. class SimpleProc 
   2.    def to_proc 
   3.        proc {"Simple Proc"} 
   4.    end       
   5. end 
   6.    
   7. def method 
   8.     yield 
   9. end 
  10.  
  11. obj = SimpleProc.new 
  12. puts method(&obj) 

兄弟,不然结果是什么?

看method方法的定义,你调用method(&obj),就会去调用obj.to_proc
yield这个东西,本身就是执行后边带的代码块。。你扔个对象进去,他
就试图转换成一个proc对象来执行。。
假如你的SimpleProc里边没有这个to_proc的话,这么用就会出错。。

2008年11月16日 08:40

相关推荐

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby-rubybuild编译和安装Ruby

    在日常开发中,`rbenv`和`ruby-build`组合提供了对Ruby版本的精细控制,使得开发者可以轻松地在不同项目之间切换,避免了版本冲突的问题。此外,它们还支持安装一些特定的patched Ruby版本,如JRuby和Truffleruby,...

    ruby DBI ruby DBI ruby DBI

    ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...

    ruby2ruby.zip

    ruby2ruby 提供一些用来根据 RubyParser 兼容的 Sexps 轻松生成纯 Ruby 代码的方法。可在 Ruby 中轻松实现动态语言处理。 标签:ruby2ruby

    Ruby完全自学手册

    由于提供的【部分内容】中出现了大量的重复网址"***",这看起来像是一个错误或者广告性质的内容,并不是Ruby自学手册的有效信息。在查找学习资源时,建议访问专业的Ruby社区或者官方文档网站,比如Ruby官方网站、...

    ruby安装包下载 | ruby环境搭建

    Ruby是一种强大的动态编程语言,广泛应用于Web开发,脚本编写,服务器管理等领域。为了在没有外网连接的环境中搭建Ruby环境,你需要提前下载并准备相关的安装包。在提供的压缩包中,包含了三个关键文件:`ruby-2.7.2...

    ruby源代码 ruby源代码 ruby源代码 ruby源代码2

    ruby源代码 ruby源代码 ruby源代码 ruby源代码2

    Ruby基础教程,RUBY入门必备啊~

    在Ruby中,错误处理主要通过异常(Exception)机制,使用begin...rescue...end块来捕获和处理可能出现的问题。这有助于编写健壮的代码,确保程序在遇到错误时能正常运行。 Ruby的元编程能力是其独特之处,允许在...

    Ruby-rubyinstall安装RubyJRubyRubiniusMagLevorMRuby

    Ruby是一种强大的、面向对象的脚本语言,广泛用于Web开发、服务器端编程和各种应用程序。在Ruby的世界里,管理不同的Ruby实现(如MRI、JRuby、Rubinius、MagLev和MRuby)是非常重要的,这有助于开发者根据项目需求...

    src-oepkgs/ruby-ruby2ruby

    src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...

    Ruby完全自学手册 下

    《Ruby完全自学手册》是一本完全覆盖Ruby和Ruby on Rails的完全自学手册。《Ruby完全自学手册》的特色是由浅入深、循序渐进,注重理论和实践的结合。虽然定位为入门手册,但是依然涉及许多高级技术和应用,覆盖到的...

    ruby1.8.6-26

    首先,让我们来看看Ruby 1.8.6在Windows上的安装。文件名"ruby186-26 (1).exe"表明这是一个针对Ruby 1.8.6的Windows安装程序,版本号为26。安装过程通常包括以下步骤: 1. 下载:访问官方网站或第三方资源下载Ruby ...

    Working with Ruby Threads

    - **调试工具**:使用专门的调试工具来检测线程安全问题,如Ruby的`Thread`类中提供的`monitor_data`方法,可以帮助定位潜在的竞争条件。 - **日志记录**:通过日志记录来监控线程的行为,可以更容易地发现线程安全...

    ruby源代码 ruby源代码 ruby源代码 ruby源代码4

    ruby源代码 ruby源代码 ruby源代码 ruby源代码4

    Ruby工具 windows 环境

    接下来,我们来看看"Ruby 脚本语言"这个标签。Ruby是一种动态类型的语言,它强调代码的可读性和简洁性。其语法设计深受Perl和Smalltalk的影响,同时引入了自定义块和闭包等概念,使得编写复杂的逻辑变得简单。Ruby...

    Ruby-TensorStream用Ruby重新实现TensorFlow

    **Ruby-TensorStream:用Ruby重现实现TensorFlow** Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能...

    Ruby Under a Microscope An Illustrated Guide to Ruby Internals

    尽管从表面来看,类和模块在Ruby中有着明显的区别,但在语言的底层实现中,它们的结构可能非常相似,这对于理解Ruby内部机制以及如何有效地组织代码都非常重要。 此外,本书涉及了Ruby不同版本(包括Ruby 2.x、1.9...

    Ruby Under a Microscope

    ruby interpreter 原理探討 At first glance, learning how to use Ruby can seem fairly simple. Developers around the world find Ruby’s syntax to be graceful and straightforward. You can express ...

    ruby中$~,$?是线程安全的么?

    NULL 博文链接:https://l-d.iteye.com/blog/1488038

    Ruby 教程 The Book of Ruby

    ### Ruby 教程《The Book of Ruby》知识点总结 #### 一、书籍基本信息 - **书名**:《The Book of Ruby》 - **作者**:Huw Collingbourne - **出版年份**:2011年 - **出版社**:No Starch Press - **ISBN-10**:1-...

Global site tag (gtag.js) - Google Analytics