c - Ruby 中没有操作范围?

标签 c ruby syntax scope

在C中,我可以做到

int scoped_var = 2;
{
    int scoped_var = 3;
}

我如何在 Ruby 中执行此操作?

最佳答案

如果您希望 block 局部变量的名称与定义该 block 的作用域中的变量相同,而无需设置先前定义的变量,则可以使用以下语法:

foo = 1
items.each do |item;foo|
  foo = item.number
end
puts foo #=> 1

您也可以在不传递 block 变量的情况下执行此操作:

x = Proc.new { |;foo| ... }

请注意,这仅适用于 Ruby 1.9+。

关于c - Ruby 中没有操作范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10166393/

相关文章:

c - 如何在 c 中使用带参数的函数指针?

sql - Oracle SQL 语法 - 检查多个列是否为 IS NOT NULL

C# 代码分析 - 表达式的结构

c++ - 并且有完整的位?

ruby - Libxml2 缺少 mac os x 10.10

c - 嵌套 for 循环的索引值达到 500 万 - C

ruby-on-rails - 无法使用回形针上传照片

ruby - Ruby 正则表达式是否有像 Perl 中的 "!~"这样的不匹配运算符?

android - 如何从 .cpp 脚本启动 Android Activity ?

sql - 结合嵌入式 SQL 和 libpq 的功能