Таки удалось победить заголовки, включая все сложные случаи. Также доделал обработку алиасов и module_function
. Остались ограничения на вложенность скобок и размещение символа комментария в строках значений параметров по-умолчанию... Но в этих направлениях движение уже нецелесообразно — усилий много, а смысла мало.
Поскольку дополнительно я ввел новый ключ — --hide-arguments
, который позволяет отказаться от аргументов методов, то решил и подвинуть версию уже в третьей цифре — RDot 0.9.3.
Поясню ограничения на примерах:
def alpha(a = (1 + 2)) # Нормально обработается end def beta a = (2 * (3 + 4)) # Нормально обработается end def gamma(a = (2 * (3 + 4))) # Вот тут уже не потянет end def delta(x = "#") # Не потянет end
В рамках классических регулярных выражений эти моменты полноценно не решаются, нужно писать парсер, что трудозатратно, или переходить на Ruby 1.9, где появились рекурсивные регулярки...
Комментариев нет:
Отправить комментарий