Более эффективно назначать оценку переменной? - PullRequest
0 голосов
/ 16 октября 2018

Помнит ли Ruby результаты того, что уже было оценено?Скажем, у меня есть:

s = "a b c d e"

Если бы я сделал:

s.split.join[2] + s.split.join[3] # => "cd"

Было бы более или менее эффективно вместо этого сделать:

x = s.split.join
x[2] + x[3] # => "cd"

Я думаю, чтоесли бы я не присвоил s.split.join переменной, то каждый раз, когда я использую это значение, Ruby должен был бы оценить s.split.join.Если s.split.join вызывался много раз, это кажется более дорогостоящим, чем просто проверка значения одной переменной.

1 Ответ

0 голосов
/ 16 октября 2018

Все, что не установлено для локальной переменной, будет переоценено, поэтому в вашем случае было бы более эффективно установить локальную переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...