0

我想传入一个将用作属性名称的字符串变量。

例如,如果我有property_name一个包含字符串的变量,我想做这样的事情:

property :property_name, type: String, getter: ->(_) { "sample text" }

并且属性名称会根据我在变量中的文本而改变。

这样的事情可能吗?如果是这样,这样做的语法是什么?

谢谢你的帮助!

4

1 回答 1

0

我发现完成此操作的最简单方法是使用该:if选项。

例如:

property :name1, type: String, if: ->(_) { property_name == 'name1' }, getter: (_) { "sample text" }
property :name2, type: String, if: ->(_) { property_name == 'name2' }, getter: (_) { "sample text" }

以上将允许我传入一个变量property_name。如果我将 property_name 的值设置为“name1”,那么将呈现第一个属性语句。如果我将 property_name 设置为“name2”,则将呈现第二个 property 语句。

于 2017-10-17T16:31:09.190 回答