Почему Eclipse жалуется на запах «зависти к функциям» в моем коде?[закрыто]

StackOverflow https://stackoverflow.com/questions/1178185

  •  19-09-2019
  •  | 
  •  

Вопрос

Eclipse (RedRails) жалуется на "Особенность зависти" в следующем коде:

if input_text =~ /^(---\s*\n.*?\n?)(---.*?)/m
  content_text = input_text[($1.size + $2.size)..-1] # warning in $1

  header = YAML.load($1)

  @content = content_text.strip()
  @title = header["title"]
end

Насколько я понимаю, я могу игнорировать это предупреждение.Но мне интересно, почему генерируется это предупреждение.Я не могу понять, как я могу извлечь метод для $1.size и $1.

Это было полезно?

Решение

Рик говорит вам, что, поскольку вы добавляете два свойства одного и того же класса, вычисление должно фактически принадлежать String.При добавлении длин строк это конечно ерунда, но в вашем случае код может упростить, используя $& (полная совпавшая строка):

input_text[$&.size..-1]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top