Lodash 在 Ruby 中的 get 和 set 等价于什么?

e74*_*dbf 5 ruby lodash

我想使用类似于 Lodash 的 get 和 set 的东西,但用的是 Ruby 而不是 JavaScript。我尝试了几次搜索,但找不到类似的内容。

Lodash 的文档可能会以更好的方式解释它,但它从字符串路径(例如'x[0].yz')获取和设置属性。如果设置属性时完整路径不存在,则会自动创建。

man*_*bot 1

Ruby 2.3 引入了新的安全导航运算符来获取嵌套/链式值:

\n\n
x[0]&.y&.z #=> result or nil\n
Run Code Online (Sandbox Code Playgroud)\n\n

否则,Rails 猴子会用以下命令修补所有对象try(\xe2\x80\xa6),允许您:

\n\n
x[0].try(:y).try(:z) #=> result or nil\n
Run Code Online (Sandbox Code Playgroud)\n\n

设置有点困难,我建议在尝试设置属性之前确保您拥有最终对象,例如:

\n\n
if obj = x[0]&.y&.z\n  z.name = "Dr Robot"\nend\n
Run Code Online (Sandbox Code Playgroud)\n