Рефакторинг в [закрытом] Ruby

Используя aggregate:

aggregate(x$Frequency, by=list(Category=x$Category), FUN=sum)
  Category  x
1    First 30
2   Second  5
3    Third 34

(вложение комментария @thelatemail), aggregate также имеет интерфейс формулы

aggregate(Frequency ~ Category, x, sum)

Или, если вы хотите для объединения нескольких столбцов вы можете использовать нотацию . (работает для одного столбца тоже)

aggregate(. ~ Category, x, sum)

или tapply:

tapply(x$Frequency, x$Category, FUN=sum)
 First Second  Third 
    30      5     34 

Используя эти данные:

x <- data.frame(Category=factor(c("First", "First", "First", "Second",
                                      "Third", "Third", "Second")), 
                    Frequency=c(10,15,5,2,14,20,3))
15
задан James A. Rosen 24 September 2008 в 19:10
поделиться

6 ответов

Лучший инструмент рефакторинга является хорошим тестовым покрытием. Если Ваши тесты покрывают Ваш код и их всех прошлое, можно просто внести любые изменения, которые Вы хотите, и тесты найдут любые зависимости, которые Вы повредили. Это - главная причина, почему основанные на IDE инструменты рефакторинга менее распространены в Ruby, чем в другом месте.

7
ответ дан 1 December 2019 в 04:18
поделиться

ИДЕЯ IntelliJ с плагином Ruby поддерживает некоторые рефакторинги.

сопроводительный текст http://www.skavish.com/rubyrefactorings.png

4
ответ дан 1 December 2019 в 04:18
поделиться

Я верю сетевым бобам и затмеваю и поддерживаю некоторый рефакторинг в их 'рубиновом режиме' - также браузер кода emacs (ECB) и различные инструменты поддержки Ruby (например, rinari) для emacs имеют некоторую поддержку.

3
ответ дан 1 December 2019 в 04:18
поделиться

Aptana имеет некоторые простые инструменты рефакторинга. Я часто извлекаю в partials, и у них есть простой ярлык для того, чтобы вытащить вещи, создавая файл и вставляя правильный вызов в частичное. Не самое удивительное когда-либо, но это полезно

1
ответ дан 1 December 2019 в 04:18
поделиться

Существует также 3rdRail от CodeGear (от известности Delphi). Единственная выгода - то, что это не свободно.

0
ответ дан 1 December 2019 в 04:18
поделиться

Я использовал рефакторинг в netbeans. Я не нашел его, которые намного более полезный, чем находят и заменяют.

0
ответ дан 1 December 2019 в 04:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: