Я видел функцию Windows для копирования в буфер обмена в R
. Есть ли эквивалентная функция для Mac OSX?
R: Функция копирования в буфер обмена на Mac/OSX?
Ответ 1
Из файла справки для base::connections
:
Пользователи Mac OS X могут использовать pipe ( "pbpaste" ) и pipe ( "pbcopy", "w" ) для чтения и записи в этот системный буфер обмена.
Ответ 2
Угу. Карл в точности прав. Лучший способ - использовать pbpaste/pbcopy.
Вот хорошая статья о деталях: http://langui.sh/2010/11/14/pbpaste-pbcopy-in-mac-os-x-or-terminal-clipboard-fun/
Rob
10/17/2013 - Обновление: Начиная с версии 3.0, пакет kmisc содержит функцию read.cb() для многоплатформенного использования буфера обмена. Ответ от @agstudy здесь: fooobar.com/questions/323927/...
Ответ 3
Для общего чтения буфера обмена в Mac синтаксис будет выглядеть следующим образом:
indat<-scan(pipe("pbpaste"),what=character(),...)
...
здесь только место, найдите scan
справку, чтобы увидеть очень много параметров, которые у вас есть (по умолчанию scan
ожидается переменная double
в аргументе what
; character
, вероятно, безопасен для общей копии, или вы можете выбрать все, что подходит для вашего случая).
Аналогично, для вставки в буфер обмена Mac общий синтаксис Mac
outdat<-"Hi There!"
cat(outdat, file=pipe("pbcopy","w"), ...)
Обратите внимание, что почти такой же синтаксис должен работать и в Windows и Linux; вы должны просто заменить вызовы pipe
на общее имя соединения "clipboard"
.
Функция пакета Kmisc, упомянутая выше, работает только для фреймов данных и табличных данных, а не для общей копии/пасты.