确实开始了。 。 。 end while 表示“块”?

2024-04-10

temp = 98.3
begin
  print "Your temperature is " + temp.to_s + " Fahrenheit. "
  puts "I think you're okay."
  temp += 0.1
end while temp < 98.6

在上面的例子中,begin 和 end 之间的所有内容都是一个块吗?

我仍然很困惑什么是块。

如果您不能将其称为块,那么您会将开始和结束之间的代码块称为什么?可以称之为块吗?


块在 Ruby 中具有特殊的含义。根据马茨的说法 http://www.artima.com/intv/closures.htmlRuby 的创建者,您可以将块视为无名函数 - 通常可以是yield http://www.tutorialspoint.com/ruby/ruby_blocks.htmed into,并且它也可能带有参数。

在描述 Ruby 语法时,您可能会看到以下类型的歧义消除:

  • begin...end(什么叫阻塞other语言)有时可以简单地称为它是什么,即表达 http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html(它又可能包含其他表达式 - 表达式只是具有返回值的东西)在 Ruby 中。有些参考文献仍将其称为begin/end block, or a code block,增加了一些混乱
  • do...end or {...}将始终被称为block http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_containers.html in Ruby

例如,请仔细阅读Ruby 语法手册页 http://docs.huihoo.com/ruby/ruby-man-1.4/syntax.html, e.g.

begin expression end
expression while expression
loop block

如需进一步阅读,请参阅:

  • 红宝石编程 http://www.ruby-doc.org/docs/ProgrammingRuby/
  • Ruby(来自其他语言) http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/
  • 很多很多 http://www.ruby-lang.org/en/documentation/文档
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确实开始了。 。 。 end while 表示“块”? 的相关文章

  • 我不喜欢这个……这是欺骗语言吗?

    我已经见过几次类似下面的东西了 我讨厌它 这基本上是在 欺骗 语言吗 或者 您是否认为这是 可以 因为 IsNullOrEmpty 始终首先被评估 我们可能会争论一个字符串从函数中出来时是否应该为 NULL 但这并不是真正的问题 strin
  • 输出到控制台,同时保留 ruby​​ 中的用户输入

    我有一个 ruby 脚本 它同时异步接收和显示来自服务器的消息 并允许用户在控制台上输入 当收到消息时 当前正在将其写入用户正在键入的内容的中间 输入本身并没有乱码 但看起来很糟糕 理想情况下 它将保存用户当前的输入 输出消息 然后在下一行
  • 在 Ruby 中创建带有静态页面的博客的最佳方法

    我刚刚访问了静态网站生成 http www ruby toolbox com categories static website generation html on 红宝石工具箱 http www ruby toolbox com 我不知
  • Groovy 中的显式输入:有时还是从不?

    后来 仍然无法弄清楚 Groovy 是否具有静态类型 似乎没有 或者使用显式类型生成的字节码是否不同 似乎是 无论如何 回答这个问题 One of the main differences between Groovy and other
  • 强制 DataMapper 断开与 postgresql 的连接

    我有一个测试 正在 postgresql 中创建和销毁多个数据库 为了能够删除数据库 我需要告诉 DataMapper 断开连接 我似乎找不到任何有关如何执行此操作的文档 DataMapper Adapters PostgresAdapte
  • Rails Partial (Rails 3, HAML) 任意慢

    我使用的是 Rails 3 0 1 HAML 0 3 22 和 Mongrel 1 1 5 MongoMapper 不是 AR 我正在渲染一个列表 每个列表项都是它自己的部分 每次页面渲染其中一个列表项部分时 渲染时间都会延长近 100 倍
  • Ruby 的 OpenSSL::Random 种子是否足够?

    我对 Ruby 知之甚少 所以如果答案很明显 请原谅我 我注意到在http www ruby doc org stdlib 1 9 3 libdoc securerandom rdoc SecureRandom html http www
  • 你能在 Python 语法中添加新的语句吗?

    您可以添加新的语句 例如print raise with 到 Python 的语法 说 允许 mystatement Something Or new if True print example 没那么多 如果你should 而是如果可能的
  • Python 中的“at”(@) 符号有什么作用?

    什么是 符号在Python中做什么 An 符号位于开始一条线用于类和函数装饰者 https docs python org 3 glossary html term decorator PEP 318 装饰器 http www python
  • 存根 include_recipe 调用以不采取任何操作,但仍将配方计为包含的内容

    我的食谱的默认食谱仅包含其他几个食谱 我知道我可以使用以下方法测试是否包含适当的食谱 expect chef run to include recipe cookbook recipe name 但是当我像这样存根 include reci
  • 标记(lex?parse?)正则表达式

    使用 Ruby 我想获取一个 Regexp 对象 或表示有效正则表达式的字符串 您的选择 并将其标记化 以便我可以操作某些部分 具体来说 我想采用这样的正则表达式 字符串 regex var w parts foo bar 并创建一个替换字
  • 在新的 RHEL6 服务器上安装 ruby​​-filemagic gem 时遇到困难

    它似乎正在寻找 libmagic so 1 文件 我有那个文件 它位于 usr lib64 中 我没有以 root 用户身份运行此安装 我也在使用 rvm 和 Bundler 这是我的 bundle 命令的结果 当它到达 Gemfile 中
  • BigDecimal 无法强制转换为 BigDecimal

    这应该很简单 但它却爆炸了 有任何想法吗 d BigDecimal new 2 0 YAML load a gt d to yaml TypeError BigDecimal can t be coerced into BigDecimal
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • 由于符号链接错误,无法在 Mac OSX 10.8.1 中安装 ruby​​-1.9.2

    首先 我尝试了常见的rvm安装 rvm安装1 9 2 但是 显示了以下错误 The provided compiler usr bin gcc is LLVM based it is not yet fully supported by r
  • 从类内部调用属性访问器方法[重复]

    这个问题在这里已经有答案了 我正在尝试调用我的类属性编写器之一 但由于某种原因它永远不会被调用 下面是一些代码 可以使这一点更清楚 class Test attr reader test def test val puts Called t
  • 带有附加参数的redirect_to

    我是一个菜鸟 redirect to users url notice Succeed p p 然后我添加一个message它失败了 redirect to users url notice Succeed message test p p
  • 回滚后是否应该删除迁移

    我对 ruby 和 Rails 相当陌生 刚刚开始了解迁移 我的问题是回滚后删除迁移的最佳实践或正确时间是什么 到目前为止 我读到的内容是回滚后是否删除迁移的观点问题 但是在团队中工作时删除迁移是否有任何重大影响 以及保留迁移文件相对于删除
  • 在 Mac OS X 10.6.8 中手动编译 Ruby 时,GEM 在哪里?

    我在 Snow Leopard 上手动构建了 Ruby 1 9 2 现在我找不到我的旧 GEM 文件了 我猜他们现在正走在不同的道路上 所以我有三个问题 什么是 旧 宝石路径 在哪里gem install sinatra把西纳特拉宝石 当我
  • 如何使用 Ruby on Rails 3 检查 HTTP 请求的“Content-Length”字段?

    我正在使用 Ruby on Rails 3 在我的视图文件中我有以下代码 为了避免服务器过载 我会在服务器接收上传文件之前检查上传文件的大小 这是因为 按下表单的提交按钮 服务器会先完整接收文件 然后再检查文件 我知道一个HTTP 请求有标

随机推荐