我有一个YAML文件,它使用编码__firstname__
作为占位符,表示应该使用现有方法firstname
,而不是后续流程中的文字字符串。
我正在努力了解最明智的方法来做到这一点。基本上,我需要提取下划线之间的部分并将其发送到对象。这是伪代码:
variable = '__firstname__'
if variable is prefixed and suffixed with underscores
result = object.send(variable.removeunderscores)
else
result = variable
end
puts result
我打算像这样在程序上写这个,但是如果只有我更了解语言,这就是我认为ruby不那么笨拙的事情。
什么是干净的为什么写这个?
答案 0 :(得分:1)
如果能够清楚地阅读IMO,那么详细的代码没有错。
我使用String#start_with?和String#end_with?做了类似的事情:
variable = '__firstname__'
if variable.start_with?("__") && variable.end_with?("__")
result = object.send(variable[2...-2])
else
result = variable
end