代码美化:在Ruby中连接多个变量和字符串

时间:2012-03-11 11:10:37

标签: ruby string concatenation code-formatting

self.homePostalAddress = self.mozillaHomeStreet + "$" + self.mozillaHomeLocalityName + "$" + self.mozillaHomePostalCode + "$$" + self.mozillaHomeCountryName

我有这行代码,我想把它分成多行,因为它变得太长了。

我尝试使用#{}的其他变体但无法获得所需的结果。

2 个答案:

答案 0 :(得分:3)

您可以尝试使用String#%格式方法执行此操作:

homePostalAddress = "%s$%s$%s$$%s" % [mozillaHomeStreet, mozillaHomeLocalityName,
                                     mozillaHomePostalCode, mozillaHomeCountryName] 

(您不需要使用self.,因为这些方法将自动调用。)

使用字符串插值(#{}),此代码如下所示:

 homePostalAddress = "#{mozillaHomeStreet}$#{mozillaHomeLocalityName}$" + 
                     "#{mozillaHomePostalCode}$$#{mozillaHomeCountryName}"

答案 1 :(得分:1)

<强>被修改

继马丁修正后,'$$'不是一个错字。

使用数组的#join方法。

homePostalAddress = [
  '$', mozillaHomeStreet, 
  '$', mozillaHomeLocalityName, 
  '$', mozillaHomePostalCode,
  '$$', mozillaHomeCountryName
].join