为什么我不能改变自我价值?

2023-11-25

为什么我可以这样改变“自我”:

self.map! {|x| x*2}

或者这样:

self.replace(self.map {|x| x*2})

但不是这样:

self = self.map {|x| x*2}

为什么 Ruby 不允许我更改“self”变量指向的对象,但允许我更改对象的属性?


不是答案,只是一个线索。

a=[1,2]
=>[1,2]
a.object_id
=>2938

a.map!{|x| x*2}
=>[2,4]
a.object_id  # different data but still the same object
=>2938

a.replace(a.map {|x| x*2})
=>[4,8]
a.object_id  # different data but still the same object
=>2938

a = a.map{|x| x*2} # .map will create a new object assign to a 
=>[8,16]
a.object_id  #different object
=>2940   

你无法将自己变成另一个人。

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

为什么我不能改变自我价值? 的相关文章

  • 如何在 Rails 4 中使用 params.require

    我有一个像这样的私有方法 用于有四个字段的注册表单 firstname email password and confirm password 我不知道如何检查password confirmation def user params pa
  • 如何从 Ruby 程序发送邮件?

    我想从 Ruby 应用程序发送电子邮件 核心语言中是否有调用来执行此操作 或者是否有我应该使用的库 最好的方法是什么 如果你不想使用行动邮递员 http wiki rubyonrails org rails pages ActionMail
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • 我无法让 ruby​​ 开发工具包适用于 Windows XP

    所以 我一生都无法让它正常工作 我的最终目标是安装 dbd odbc gem 并使其正常工作 从我读过的多篇文章来看 我需要安装ODBC 绑定 http www ch werner de rubyodbc 对于 ruby 以及 dbd od
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 存根和 rspec 旧语法的问题

    我正在编写一些代码并使用 rspec 但收到警告 提示语法已过时 我不太清楚应该如何编写它 it should calculate the value correctly do mock cards Card new clubs 5 Car
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • Ruby 中的 url_encode

    I read 的文档url encode http rdoc info stdlib erb 1 9 3 ERB Util 3Aurl encode 是否有一个表可以准确地告诉我哪个字符被编码为什么 使用url encode ERB s u
  • 子文件夹和关系中的 Rails 模型

    我在自动加载的文件夹中组织了一些轨道模型 config autoload paths Dir Rails root join app models 我可以直接使用所有模型 例如Image first file name 但是当我尝试通过关系
  • 从logstash中的文件名获取事件的时间戳

    我们有一个将事件写入文件的进程 没有时间戳 文件名本身带有时间戳后缀 该时间戳应用于文件中的所有事件 现在 我尝试使用logstash的输入文件插件来解析该文件 有没有一种方法可以将文件名获取到字段 以便我可以使用 gsub 过滤器提取时间
  • 为什么需要在 Python 方法中显式使用“self”参数? [复制]

    这个问题在这里已经有答案了 当在 Python 中的类上定义方法时 它看起来像这样 class MyClass object def init self x y self x x self y y 但在其他一些语言中 例如 C 您可以使用
  • Ruby 动态变量名

    有没有办法在 Ruby 中创建具有动态名称的变量 我正在读取一个文件 当我找到一个字符串时 会生成一个哈希值 e g file File new games log r file lines do l l split do p if p 1
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • 如何通过 Ruby 中的代理获取带有用户代理和超时的 URL?

    如果我需要通过某些方式获取 URL 我该如何获取 URLproxy 它必须有一个timeout最大 n 秒 和一个用户代理 require nokogiri require net http require rexml document d
  • ruby 中 Array#uniq 方法的时间复杂度是多少?

    谁能告诉我 ruby 内部使用哪种算法来使用 ruby 数组删除重复项Array uniq method 来自docs http www ruby doc org core 1 9 3 Array html static VALUE rb
  • ruby 字符串到哈希值的转换

    我有一个这样的字符串 str uu p xx m yy n zz m 我想知道如何将给定的字符串转换为哈希值 即我的实际要求是 有多少个值 符号之前 有m n和p 我不需要计数 我需要一个精确的值 这样输出效果会更好 m gt xx zz
  • 将对象转换为哈希,然后将其保存到用户的列

    找不到任何接近我想做的事情 我想将一个对象存储到用户的列中 该列采用数组的形式 postgres def change add column users interest string array true default end 我有另一

随机推荐

  • 寻找与多边形相交尽可能多次的射线

    这是一个有趣的练习 设 P 是一个简单但不一定是凸多边形 q 是不一定在 P 中的任意点 设计一种有效的算法来找到一条源自 q 且与 P 的最大边数相交的线段 换句话说 如果站在q点 你应该把枪瞄准什么方向 这样子弹才能穿过最多数量的墙壁
  • 选择底部导航选项卡后 Android 清除后退堆栈

    使用最新的导航组件与BottomNavigationView the NavController现在默认保存和恢复选项卡的状态 作为此更改的一部分 onNavDestinationSelected BottomNavigationView
  • 在 Windows 上通过计划任务加载 URL 的推荐方法

    我有一个托管在 Windows 机器上的网页 我需要确保每天至少加载一次 我当前的计划是创建一个计划任务 打开 Internet Explorer 并点击 URL C Program Files Internet Explorer iexp
  • 如何使用 FastAPI 从 HTTP 请求中获取 cookie?

    当有人点击 API 时是否可以获取 cookie 我需要读取每个请求的cookie app get async def root text str sessionKey str Header None print sessionKey re
  • AngularJS 的 batarang Chrome 扩展似乎已损坏

    我将这篇文章添加到了 Github 上类似 最近经历的长系列中 我希望这里有人能找到答案 哦 很好 我不只是愚蠢 尝试从书本上自学 Angular 当它调用使用 batarang 来显示一个小示例脚本的范围和模型时 我启动了 bataran
  • 将“物品”平均分配到桶中(尽最大努力)

    说我要分发y项目到x桶均匀 如果x是的倍数y这个分布将是均匀的 如果不是 我最终会得到0每个桶中的物品 例如 例如 我有3桶 我想分配2每个项目 自从做了分工 2 3 将导致0每个桶的物品 我怎样才能实现 分布1 1 0 这种思维方式应该有
  • 如何判断一个方法中调用了哪些方法?

    我想列出从特定方法调用的所有方法 例如 如果我有以下代码 public void test1 test2 test3 该列表应包含 test2 和 test3 如果可以列出同一类的方法以及另一个类的方法 那就太好了 另外 我想找到一种方法来
  • C#/Excel:解决图表上的最大系列大小

    我需要帮助以编程方式绘制比单个 Excel 系列所能容纳的更多点 根据http office microsoft com en us excel HP100738491033 aspxExcel 2007 图表上可显示的最大点数为 2560
  • Android 中的多级 ExpandableListView

    我正在尝试从给定的未知大小或级别的类别列表创建类别树 所以我试图创建一个通用的可扩展列表 其中可以包含 2 个以上的级别 总体思路是在其布局中向每个有子级的子级添加另一个 ExpandableListView 问题是第二个级别无法打开 看起
  • 在 @PostConstruct 期间使用 @Cacheable 的 Spring 缓存不起作用

    与spring框架中的commit相关https github com spring projects spring framework commit 5aefcc802ef05abc51bbfbeb4a78b3032ff9eee3 初始化
  • Spring Security 3.0.2 的 OpenId 身份验证和自动注册

    我正在使用 spring security 3 0 2 和 OpenId 登录和注册来实现一个应用程序 我可以成功登录 但如果用户未注册 我想要执行以下操作 1 获取一些 OpenId 属性 例如电子邮件和姓名 2 向用户显示仅包含这两个字
  • 如何列出 MySQL 中缓存的查询? (Qcache_queries_in_cache)

    显示 Qcache queries in cache 等状态返回 Variable name Value Qcache queries in cache 327 如何打印这些 327 查询 为了优化 mysql 缓存 我想尝试切换到 按需
  • 如何在 Scala 2.9.0 中实现 Hadoop Mapper?

    当我从 2 8 1 迁移到 Scala 2 9 0 时 除了 Hadoop 映射器之外 所有代码都可以正常运行 因为我有一些包装对象 所以我总结为以下示例 import org apache hadoop mapreduce Mapper
  • 如何在 Java 中对二维数组进行深层复制?

    我刚刚使用了一点 clone 在我的第二天booleanarray 认为这是一个深拷贝 我怎样才能执行我的深度复制boolean array 我应该循环它并做一系列System arraycopy s 是的 您应该迭代二维布尔数组才能深度复
  • 扩展方法如何工作?

    我想在 Unity3d 中为 Vector3 类创建一个扩展方法 但我似乎不太明白 这就是我所拥有的 public static class ExtensionMethods public static Vector3 MaxValue t
  • 如何检查是否安装了特定的 MSI?

    我正在编写一个 powershell 脚本 它将为我的 web 应用程序安装一些依赖项 在我的脚本中 我遇到了一个反复出现的问题 即检查是否安装了特定应用程序 似乎有一种独特的方法来检查每个应用程序是否存在应用程序 即 通过检查 c 上此文
  • 使用 gettext 翻译 R 脚本

    是否可以使用 gettext 之类的东西来翻译 R 脚本 如果是这样 怎么办 如果没有 我还有什么其他选择 您可以使用base gettext ngettext base bindtextdomain 和tools xgettext2pot
  • 编辑开始时更改 UITextField 背景

    我想在 UITextField 成为第一个响应者时更改其背景图像 以向用户显示它具有焦点 类似于 CSS 中的 active 或 focus 伪类 我猜我可能需要以编程方式执行此操作 因此 非常感谢任何帮助 Giles 恕我直言 最干净的方
  • 在函数中操作多维数组

    我在这里读了很多东西并尝试了很多 但我找不到一种方法将多维数组传递给 C 中的函数 更改一些值并以某种方式返回新数组 找到一种方法将该数组进一步传递给另一个函数并执行相同的操作非常重要 我想找到一种将数组传递给函数的方法 然后将其从第一个函
  • 为什么我不能改变自我价值?

    为什么我可以这样改变 自我 self map x x 2 或者这样 self replace self map x x 2 但不是这样 self self map x x 2 为什么 Ruby 不允许我更改 self 变量指向的对象 但允许