Улучшение кода: объединение нескольких переменных и строк в Ruby - PullRequest
0 голосов
/ 11 марта 2012
self.homePostalAddress = self.mozillaHomeStreet + "$" + self.mozillaHomeLocalityName + "$" + self.mozillaHomePostalCode + "$$" + self.mozillaHomeCountryName

У меня есть эта строка кода, и я хотел бы разбить ее на несколько строк, так как она становится слишком длинной.

Я пробовал другие варианты с #{}, но не смог достичь желаемого результата.

Ответы [ 2 ]

3 голосов
/ 11 марта 2012

Вы можете попытаться сделать это, используя String #% метод форматирования:

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

(Вам не нужно использовать self., потому что эти методы будут вызываться самостоятельно, неявно).

При интерполяции строки (#{}) этот код будет выглядеть следующим образом:

 homePostalAddress = "#{mozillaHomeStreet}$#{mozillaHomeLocalityName}$" + 
                     "#{mozillaHomePostalCode}$$#{mozillaHomeCountryName}"
1 голос
/ 11 марта 2012

Отредактированный

После исправления Мартина «$$» не является опечаткой.

Используйте #join метод Array.

homePostalAddress = [
  '$', mozillaHomeStreet, 
  '$', mozillaHomeLocalityName, 
  '$', mozillaHomePostalCode,
  '$$', mozillaHomeCountryName
].join
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...