Tag: 字符串插值

反斜杠打破了ruby中的字符串插值

我想最后得到字符串”/a_setting/c\blah = something” ,其中属性被评估为其值:blah。 但是,我看到以下行为,其中前面的反斜杠似乎停止了对变量的评估: attribute = “blah” “/a_setting/c\#{attribute} = something” => “/a_setting/c\#{attribute} = something” “/a_setting/c\ #{attribute} = something” => “/a_setting/c blah = something”

ruby 1.9如何将数组转换为不带括号的字符串

我的问题是如何在没有得到括号和引号的情况下将数组元素转换为ruby 1.9中的字符串。 我有一个数组(数据库提取),我想用它来创建一个定期报告。 myArray = [“Apple”, “Pear”, “Banana”, “2”, “15”, “12”] 在ruby 1.8中,我有以下几行 reportStr = “In the first quarter we sold ” + myArray[3].to_s + ” ” + myArray[0].to_s + “(s).” puts reportStr 这产生了(想要的)输出 在第一季度,我们卖出了2个Apple。 ruby1.9中相同的两行产生(不想要) 在第一季度,我们卖出[“2”] [“Apple”](s)。 在阅读文档Ruby 1.9.3 doc#Array#slice后,我以为我可以生成类似的代码 reportStr = “In the first quarter we sold ” + myArray[3] + ” ” […]

将正则表达式插入到另一个正则表达式中

在以下代码中, k2与k1最小不同。 也就是说,除了使用插值定义之外, k2完全相同。 (也就是说,我预计它会完全相同;显然,从p k2的结果来看,它不是。) v = /[aeiouAEIOUäöüÄÖÜ]/ # vowels k1 = /[[ßb-zB-Z]&&[^[aeiouAEIOUäöüÄÖÜ]]]/ # consonants defined without interpolation k2 = /[[ßb-zB-Z]&&[^#{v}]]/ # consonants defined same way, but with interpolation 但是如下所示,使用带有k1 gsub可以正常工作,而将其与k2一起使用会以某种我无法理解的方式失败。 all_chars = “äöüÄÖÜß”<<('a'..'z').to_a.join<<('A'..'Z').to_a.join p all_chars # "äöüÄÖÜßabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" p all_chars.gsub( k1 , '_' ) # "äöüÄÖÜ_a___e___i_____o_____u_____A___E___I_____O_____U_____" p all_chars.gsub( k2 , '_' ) # "äöüÄÖÜ_abcdefghijklm_o_____u__x__ABCDEFGHIJKLMNOPQRSTUVWXYZ" […]

单引号字符串字符串插值

我正在尝试使用Rails在ActionMailer中设置电子邮件地址。 在硬编码之前,我们现在想让它们成为ENV变量,这样我们就不需要在每次电子邮件更改时修改代码。 以下是它目前的定义: from = ‘”Name of Person” ‘ 我已尝试使用ENV[‘EMAIL’]将电子邮件设置为环境变量,但即使使用#{ENV[‘EMAIL’}我也没有运气。 谁能指出我正确的方向?

单引号内的插值

如何在单引号内执行插值? 我试过这样的事情,但有两个问题。 string = ‘text contains “#{search.query}”‘ 它不起作用 我需要最后的字符串将动态内容包装在双引号中,如下所示: ‘text contains “candy”‘ 可能看起来很奇怪,但我正在使用的gem需要这个。