gpt4 book ai didi

ruby - 是否有可能(错误地)在 ruby​​ 中使用字符串类来翻译所有字符串 I18n? (理论问题)

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:12 25 4
gpt4 key购买 nike

这是一个关于理论和更好地理解 ruby​​ 的问题,而不是现实生活中的问题。所以请不要发表类似“永远不要那样做”或类似的评论。

想象一下,我不想使用 I18n.t "token",而是想使用:"token".t。这很容易:

class String
def t
I18n.t self
end
end

想象一下,我对逻辑使用严格的symbols,对文本使用strings,并希望通过I18n 逻辑获取每个string

如果没有 .t 是否可行?因此 a="john".t #a 在德语中得到 'johann'a="john"

相同

我认为这类似于在创建对象时更改值

同样,这是一个关于理论和理解 ruby​​ 的问题,而不是一个关于国际化或现实生活的问题。

最佳答案

根据这个thread您不能重新定义字符串文字的初始化,但是您可以使用 alias or alias_method 重新定义 String 初始化并写下类似的内容:

 class String
alias_method :old_init, :initialize
def initialize(str)
old_init(str)
puts self
end
end
a = String.new("x")

关于ruby - 是否有可能(错误地)在 ruby​​ 中使用字符串类来翻译所有字符串 I18n? (理论问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128998/

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