gpt4 book ai didi

ruby - 从对象中存储和检索变量

转载 作者:数据小太阳 更新时间:2023-10-29 07:48:28 26 4
gpt4 key购买 nike

我想从对象中存储和检索一些变量。例如在 a

a = "a"

到目前为止,我找到了两种可能的方法。

  • 使用 instance_variable_setinstance_variable_get

    a.instance_variable_set(:@x, 10)
    a.instance_variable_get(:@x) # => 10
  • 或仅使用 instance_eval

    a.instance_eval { @y = 5 }
    a.instance_eval { @y } # => 5

第二种方法对我来说看起来更短更简单,如果我更喜欢这种方法,我的代码有什么问题吗?

最佳答案

速度不是一切,但是... instance_variable_set 方法比使用 instance_eval 更快。如果您有兴趣,这里有一个基准:https://gist.github.com/1268188

这是另一篇文章,给出了尽可能避免 instance_eval 的另一个充分理由:Alex Kliuchnikau on instance_eval

关于ruby - 从对象中存储和检索变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12217254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com