Подтвердить что ты не робот

Почему "+" не работает с символами в R?

Назовите меня ленивым, но я просто ненавижу печатать такие вещи, как paste("a","b",sep='') все время.

Я знаю, что "(t) его есть R. Нет, если, только так". (library(fortunes);(fortune(109)). Итак, мой следующий вопрос: возможно ли легко изменить это поведение?

4b9b3361

Ответ 1

@Dirk: На этот раз вы не совсем правы. Это не парсер. Можно писать методы в R для "+" - help ( "+" ) переходит в "Арифметические операторы" и упоминает что они являются общими, и вы можете писать для них методы... и, конечно же, многие авторы пакетов делают, например, мы делаем для пакета "Матрица", а также для пакета "Rmpfr", например. Но Дирк также прав (конечно!), Что вы не можете сделать это в R в настоящее время, просто определяя метод для "+.character".

Примерно три года назад я начал поток на R-devel (список рассылки R на R-разработке, очень рекомендуется, если вас интересуют эти темы, вы также можете получить доступ через Gmane, если вы не хотите подписаться): r-devel archived msg

Дошло до интересной дискуссии с довольно многими плюсами и минусами, особенно Джон Чамберс ( "отец S и, следовательно, R" ), довольно сильно противно использовать "+" для операции, которая не коммутативна, а также r-devel archived msg2 (другим членом R-ядра), поддерживая представление о том, что мы (R Core) не должны принимать/поддерживать идея; и если люди ** действительно хотели этого, они могли бы определить % +% для этого.

Ответ 2

Использует ли sprintf более удобный для вас?

Не имея этого, как насчет этой маленькой ловкости руки:

'%+%' <- paste

'and' %+% 'now' %+% 'for'%+% 'something' %+% 'completely' %+% 'different'    
# [1] "and now for something completely different"