我正在尝试修改 Ruby 2.4 中包含数字和测量单位的变量字符串。我的目标是采用以下字符串,将数字部分四舍五入,并将单位部分大写:
my_string = "123.456789 dollars"
我知道有各种各样的方法可以用多行代码完成这个操作,但我正在使用一个独特的界面和一个独特的环境,目标是使用一行代码来编写它尽可能短。我知道我可以做这样的事情:
my_array =my_string.split; my_array[0].to_f.round(2).to_s + " " + my_array[1].capitalize
...但我的目标是取消分号,使用更少的字符,并避免必须调用数组两次。
我的想法是按照以下方式做一些事情:
my_string.split.*do_this*(self.to_f.round(2), self.capitalize).join(" ")
在 2.5 版之前有没有办法做这样的事情?
我也对其他想法持开放态度,但同样,目标是尽可能短的单行代码,以及使用不同参数修改这两个元素的能力。
请注意:升级到较新版本的 Ruby 不是一种选择。2.4 是当前硬编码到我们正在使用的软件包中的版本。