R Studio - используйте несколько вариантов для быстрого переименования переменных [дублировать]

Недавно я написал HTML-дезинфицирующее средство в Java. Он основан на смешанном подходе регулярных выражений и Java-коде. Лично я ненавижу регулярные выражения и его глупость (читаемость, ремонтопригодность и т. Д.), Но если вы уменьшите объем своих приложений, это может соответствовать вашим потребностям. Во всяком случае, мой дезинфицирующее средство использует белый список для тегов HTML и черный список для некоторых атрибутов стиля.

Для вашего удобства я создал игровое поле, чтобы вы могли проверить, соответствует ли код вашим требованиям: игровая площадка и код Java . Ваши отзывы будут оценены.

Существует небольшая статья, описывающая эту работу в моем блоге: http://roberto.open-lab.com

18
задан David Go 13 February 2017 в 11:14
поделиться

1 ответ

RStudio IDE v1.0 включает функцию «Переименовать в области видимости», которая предназначена для этого:

Эта функция упрощает переименование всех экземпляров Переменная. Инструмент контекстно-зависим; изменение m на m1 не изменится mtcars на m1tcars.

Я не могу найти документацию для функция. Пример из анимированного GIF работает, хотя, когда я помещаю курсор в первый экземпляр d (имя переменной для замены), а затем выберите Code -> Rename in Scope. Однако, когда я пытаюсь выполнить те же шаги, но, начиная со второго экземпляра, он не работает. Очевидно, вам нужно начать с того места, где назначена переменная?

## Example from animated GIF
library(dplyr)
library(magrittr)
library(ggplot2)

d <- mtcars %>%                      ## Instance 1
  filter(cyl > 4) %>%
  select(hp, mpg)

ggplot(data = d, aes(x=hp, y=mpg)) + ## Instance 2
  geom_point() +
  geom_smooth()

На практике все еще есть ошибки, которые мешают работе функции. Например, приведенный ниже пример не работает, если заголовок не удален.

## Header ####
example <- 1:10
example[1]
28
ответ дан dnlbrky 16 August 2018 в 00:02
поделиться
  • 1
    Попытка заставить эту функцию работать привела меня к этому вопросу. Кто-нибудь мог найти документацию о том, как использовать эту новую функцию? – BLT 19 November 2016 в 11:39
  • 2
    Спасибо за ответ, я считаю, что функция (поистине) весьма полезна. Однако он ограничен. Appart из описанной вами проблемы я считаю особенно проблематичным, что область действия ограничена одним файлом. Если я использую эту функцию для редактирования имени переменной объекта, определенного в другом файле, имя будет изменено только в выбранном скрипте. – David Go 20 December 2016 в 16:48