ruby 中的一行可以动态初始化多个变量吗? [复制]

2023-12-30

(我才写了几个星期的代码,这是我的第一个问题,所以请耐心等待!)

在 ruby​​ 中,我知道您可以在一行上初始化多个变量,如下所示:

a, b = 1, 2

但是,我想知道是否可以在循环中初始化多个变量并生成它们的名称。这是一些伪代码,解释了我的意思:

For X between 0 and 3, even_X = X * 2

这将设置even_0 == 0, even_1 == 2, even_2 == 4, and even_3 == 6.

我意识到可以通过迭代创建一个数组然后调用其成员来实现相同的功能,但我仍然很好奇是否有一种方法可以做到这一点。

Thanks!


有一个方法,使用eval,但你宁愿不想使用它(我什至会走那么远说最好不要learn直到很久以后)。

根本不可能使用它来代替普通数组。

对于您的示例,应该使用类Range和方法map:

(0..3).map{|i| i * 2}
#=> [0, 2, 4, 6]

可以看到这已经完成了,没有声明any变量 - 偶数i就在传递给的块内处于活动状态map。之后就不存在了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ruby 中的一行可以动态初始化多个变量吗? [复制] 的相关文章

  • 设计 /users/sign_in 重定向到错误的控制器

    Vitals ruby 1 9 3p194 2012 04 20 修订版 35410 i686 linux Rails 3 2 7 设计2 1 2 GET users sign in 正在尝试重定向到错误的控制器 它已停止重定向到 weco
  • Rails 从视图中调用操作

    希望这里有一个简单的问题 但我似乎无法找到答案 刚刚开始使用 RoR 但之前来自 ASP MVC 我在渲染部分视图时遇到问题 其局部变量不一定与主视图的变量相关联 例如 对于一个博客 我试图渲染一个链接到存档的侧边栏 def sidebar
  • Ruby/Rails/Rack 代码中的“use”关键字/单词

    最近我偶然在Ruby代码中看到这个词 use 当我正在查看一些与goliath https github com postrank labs goliath 中间件等 看起来它不同于include extend and require 有人
  • Rails 3.2.3 命名空间控制器被同名的全局控制器覆盖

    当全局应用程序控制器首先加载时 命名空间应用程序控制器在加载该命名空间内的页面时不会加载 应用程序控制器如下所示 class ApplicationController lt ActionController Base protect fr
  • 如何在 rake 任务中强制使用 RAILS_ENV?

    我有这个小耙子任务 namespace db do namespace test do task reset do ENV RAILS ENV test Rake Task db drop invoke Rake Task db creat
  • 用 ruby​​ 中的数组内容替换字符串?

    String Test string Test array link1 link2 如何替换这样的字符串 输出应该是String link1 string link2 字符串 gsub 可以返回一个枚举器 所以这很简单 string gsu
  • 输出到控制台,同时保留 ruby​​ 中的用户输入

    我有一个 ruby 脚本 它同时异步接收和显示来自服务器的消息 并允许用户在控制台上输入 当收到消息时 当前正在将其写入用户正在键入的内容的中间 输入本身并没有乱码 但看起来很糟糕 理想情况下 它将保存用户当前的输入 输出消息 然后在下一行
  • Groovy 中的显式输入:有时还是从不?

    后来 仍然无法弄清楚 Groovy 是否具有静态类型 似乎没有 或者使用显式类型生成的字节码是否不同 似乎是 无论如何 回答这个问题 One of the main differences between Groovy and other
  • 避免在 Ruby 中自动从 Fixnum 转换为 Bignum

    我正在将算法从 C 移植到 Ruby 该算法有一个方法返回一个int有时会溢出 private static int NextRandom int n return 1234567890 n 12345 该算法利用溢出来避免该函数返回的值超
  • 测试 Ruby 字符串或符号的字符串相等(而不是对象相等)的最简洁方法?

    我总是这样做来测试 Ruby 中的字符串相等性 if mystring eql yourstring puts same else puts different end 这是在不测试对象相等性的情况下执行此操作的正确方法吗 我正在寻找最简洁
  • 如何使用 watir 滚动网页

    我正在尝试滚动网页以查找并单击页面滚动时延迟加载的内容 我正在使用以下命令 require watir webdriver browser Watir new firefox browser send keys space 我在 Firef
  • Ruby 在带有偏移量的数组中查找

    我正在寻找一种以更简洁的方式在 Ruby 中执行以下操作的方法 class Array def find index with offset offset block offset 1 find block end end offset a
  • 在 Rails 4 中渲染部分/rake 任务/后台作业/模型中的视图

    我读过很多关于在 rake 任务 后台作业 模型中渲染 Rails 部分和视图的内容 我在 Stackoverflow 和网络上找到的绝大多数内容都描述了在 Rails 3 中工作的方法 但它们似乎已经过时了 而且我没有让它们工作 即使花了
  • Ruby on Rails 最酷的功能是什么,为什么选择它? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在我问这个问题之前 我浏览了 SO 上 Ruby on Rails 的搜索结果 找不到太多 但以下 在此页面上找到 https stackove
  • ruby on Rails,会话过期通知

    我正在使用 ruby 1 9 3 和 Rails 3 2 我的实际会话处理如下所示 会话助手 def sign in user cookies remember token value user remember token expires
  • Capybara 的 has_selector 有哪些选项?

    我在 RSpec 中遇到此错误 有没有任何文档have selector解释了选项哈希中的每个键以及它到底有什么作用 invalid keys content should be one of text visible between co
  • 带有附加参数的redirect_to

    我是一个菜鸟 redirect to users url notice Succeed p p 然后我添加一个message它失败了 redirect to users url notice Succeed message test p p
  • Ruby 可选参数和多个参数

    我试图将方法的第一个参数设置为可选 后跟任意数量的参数 例如 def dothis value 0 args 我遇到的问题是 这似乎实际上不可能 当我打电话时dothis hey how are you good 我希望它将值设置为默认值
  • ||= 是什么意思? [复制]

    这个问题在这里已经有答案了 我的应用程序控制器中有一个受保护的方法 def current user current user User find by id session user id end 我想知道什么 方法 我一直在努力寻找和找
  • 有没有可以在 HTML 文档之间进行比较的 ruby​​ gem?

    事实证明 对两个不同的 html 文档进行比较是一个完全不同的问题 而不仅仅是对纯文本进行比较 例如 如果我在以下之间进行简单的 LCS 差异 Google and Google diff 结果不是 but a gt github com

随机推荐

  • 如何在 JavaFX 中将复选框添加到 TableView

    在我的 Java 桌面应用程序中 我有一个 TableView 我想在其中有一列带有复选框 我确实找到了这样做的地方http www jonathangiles net javafx 2 0 CellFactories http www j
  • 视图必须派生自 WebViewPage 或 WebViewPage

    我正在跟进Justin Slattery 的插件架构教程 http fzysqr com 2010 04 26 asp net mvc2 plugin architecture tutorial 并尝试将其适应 Razor 而不是 WebF
  • iPhone/iPad同时下载和播放

    我想通过应用程序同时下载和流式传输和下载视频 视频量很大 因此转换为 m4u8 格式并使用 VOD 直播流概念在 MPMoviePlayer 中播放它们 如何同时下载直播视频和播放 你能建议我吗 以下是播放电影的代码 希望有用 NSURL
  • 在 Prolog 中创建 Niece 规则

    使用家庭数据库 我需要在 swi prolog 中创建一个侄女规则 niece X Y 其定义为 如果 X 是 Y 的兄弟或姐妹的女儿 则 X 是 Y 的侄女 这是给定的数据库 其中包含我已经设计的规则 family DB grandfat
  • boot2docker启动脚本与主机挂载本地共享文件夹

    我在 Win7 上运行 boot2docker 1 3 我想连接一个共享文件夹 在 VirtualBox Manager 的图像属性 gt 共享文件夹下 我添加了所需的文件夹并将其命名为 c shared 选中 自动安装 和 永久 复选框
  • 如何在 StructOpt 中使用表示子命令的枚举?

    参考StructOpt 的 Git 示例 https docs rs structopt 0 2 8 structopt subcommands 我不明白我应该如何使用参数中的数据 我对 Rust 相当陌生 所以我猜这是显而易见的 不幸的是
  • 基于椭圆曲线 Diffie-Hellman 和 CommonCrypto 的共享秘密

    我正在寻找 CommonCrypto 中的方法来生成基于 ECDH 椭圆曲线 Diffie Hellman 的共享密钥 我可以找到像这样的专有实现https github com surespot surespot ios blob mas
  • 将日期时间转换为 bigint

    sql中有没有将datetime转换为bigint的函数 例如 我有一个日期 2010 11 02 00 00 00 我想得到数字 20101102000000 的结果 或者我是否需要编写一些自定义函数来从日期时间中删除 space 你可以
  • 为什么神经网络倾向于输出“平均值”?

    我正在使用 keras 为回归任务构建一个简单的神经网络 但输出总是趋向于真实 y 数据的 平均值 看第一张图 蓝色是真实值 红色是预测值 非常接近真实值的常数平均值 此外 即使我设置了学习周期 100 模型也很早就停止学习 任何人都知道在
  • 重新加载单元格后向上滚动时具有动态单元格高度跳跃的 UITableView

    我有一个表格视图 每个单元格都有可能有自己的高度 因此不适合使用rowHeight 相反 现在我正在使用let indexSet NSIndexSet index 10 and self tableView estimatedRowHeig
  • ajax 加载数据后 Shadowbox 不工作

    ajax 加载数据后 Shadowbox 无法工作 我尝试将 Shadowbox init 放入 ajax 加载函数以及 php 页面中 什么都不起作用 Shadowbox 在 ajax 加载数据之前工作正常 ajax type post
  • 如何在 Catalyst 中使用 NSSharingService?

    我尝试使用 NSSharingService 添加催化剂应用程序以在 macOS 上共享操作表 但出现错误NSSharingService is unavailable in Mac Catalyst if targetEnvironmen
  • 如何区分共享内存和全局内存的指针?

    在 CUDA 中 给定指针的值或变量的地址 是否有一个内在函数或另一个 API 可以内省指针引用的地址空间 CUDA 头文件sm 20 intrinsics h定义函数 device unsigned int isGlobal const
  • Rails Button_to 未正确设置类

    My code 我想以此结束
  • 显示 18 年前的日期选择器并锁定 ios 中的 ui 日期选择器

    在我的项目中 我需要显示 18 年前的日期选择器 并且需要锁定 80 年前的日期 所以我如何在日期选择器中显示这些日期 任何人都可以帮助我在这里找到 这里添加代码我在日志中打印的代码但我需要在我的日期选择器上显示所以我如何显示 NSCale
  • Rspec 未定义的局部变量或方法 root_path

    我开始使用 Rspec 但是当我运行时bundle exec rspec我收到一个错误 spec requests pages spec rb 20 in block 2 levels in
  • 如何从 /bin 目录中加载所有程序集

    在 Web 应用程序中 我想加载 bin 目录中的所有程序集 由于它可以安装在文件系统中的任何位置 因此我无法保证它存储的特定路径 我想要一个 Assembly 装配对象的 List 好吧 您可以使用以下方法自己将其组合在一起 最初使用类似
  • int 整数实例

    为什么当 Java 进行自动装箱时这是一个编译时错误 我错过了什么吗 int primitiveIntVariable 0 if primitiveIntVariable instanceof Integer I get Inconvert
  • 根据晚于特定日期的多列选择行

    我有以下数据框 import pandas as pd import numpy as np np random seed 0 create an array of 5 dates starting at 2015 02 24 one pe
  • ruby 中的一行可以动态初始化多个变量吗? [复制]

    这个问题在这里已经有答案了 我才写了几个星期的代码 这是我的第一个问题 所以请耐心等待 在 ruby 中 我知道您可以在一行上初始化多个变量 如下所示 a b 1 2 但是 我想知道是否可以在循环中初始化多个变量并生成它们的名称 这是一些伪