Uma forma rápida de inverter as barras no R (“\” para “/”).

Não existe coisa mais chata que inverter as barras para atribuir os diretórios de trabalho na programação em R. O Windows utiliza as barras invertidas (“\”) para separar as pastas de trabalho, desse modo:

“C:\Program Files\R\R-3.3.1\”

Contudo, quando estamos trabalhando com o R, a barra invertida é utilizada para outro propósito, como “escape sequence”. Basicamente, tudo que vem depois de uma barra invertida é a indicação de um caractere especial, como quebra de linha (“\n”) ou TAB (“\t”). O escape sequence também pode ser usado para representar caracteres que normalmente tem função especial como um caractere literal. Caso quisermos inserir as aspas simples ou aspas duplas em uma string, podemos simplesmente utilizar:

> cat(“a \” b”) # String como aspas duplas

a ” b

> cat(“a \’ b”) # String como aspas simples

a ‘ b

Por isso não podemos usar a barra invertida para descrever o caminho dos diretórios: o R irá entender todos os caracteres que vem depois das barras como indicação de alguma outra coisa. Existem duas soluções para isso. A primeira é colocar barras invertidas duplas. Assim, o R entenderá que o caractere especial que está à frente é um literal:

“C:\\Program Files\\R\\R-3.3.1\\”

Essa solução é trabalhosa e vejo poucas pessoas usando ela. Outra opção é usar barras normais (“/”) ao invés de barras invertidas:

“C:/Program Files/R/R-3.3.1/”

O problema é que mesmo inverter as barras pode ficar tedioso se você tem que fazer isso sempre, ainda mais quando temos que digitar caminhos longos, como por exemplo:

“C:\Users\Murilo Junqueira\Dropbox\Acadêmico e Educação\Doutorado\#Bancos de Dados\#BD Unificado\Rotinas R\”

Pensando nisso, pensei uma forma simples de evitar a tarefa monótona de inverter as barras nos comandos R. Utilizo uma de minhas aplicações favoritas: o AutoHotKey (AHK). O AHK é um software gratuito e open-source para automatizar tarefas repetitivas no MS Windows (usuários de Linux e Mac podem dar outra solução!). Ele basicamente consegue automatizar tudo que você faz com teclado, mouse ou joystick. Ele transforma todo seu trabalho de digitar teclas e clicar no mouse em códigos de programação. O AHK normalmente é utilizado para criar teclas de atalho personalizadas. Por exemplo, no meu computador eu consigo abrir o Bloco de Notas apenas apertando Control + Win + n. A ideia aqui é criar uma tecla de atalho que simplesmente pega o endereço que está copiado na memória do computador (que você salvou apertando Control + c) e inverter as barras quando você aperta outra tecla de atalho, como Control + Win +v. (não vamos mudar o tradicional Control + v para não causar confusão, ok?). Isso pode ser feito apenas com as seguintes linhas de código no AHK:

; Tudo que está depois do ponto e virgula (“;”), é comentário, não código.

;Primeiro vamos criar uma função que será disparada quando você

; apertar Control (“^”) + Win (“#”) + v

^#v::

; substitui todas as barras invertidas do clipboard por barras normais.

StringReplace, clipboard, clipboard, \,/,All

; coloca a string com as barras alteradas no clipboard.

Clipboard = %clipboard%

; manda um Control + v

send {CtrlDown}v{CtrlUp}

; Fim da função

return

Agora é só apertar um control + c no endereço do Windows e depois apertar Control + Win + v no seu script do R. Você perceberá que os endereço vão estar corretos. Durmo em paz pensando no tempo de vida que eu economizei depois dessa tecla de atalho.

O AHK ainda tem uma vantagem para aqueles que não querem aprender sua linguagem de programação: ele pode ser usado para criar programas customizados. Se você não quiser ter uma experiência mais “profunda” com o AHK, basta baixar e utilizar esse aplicativo, de minha autoria. Uma vez acionado o aplicativo, a função acima estará funcionando. Não é necessário nem instalar o AHK em seu computador, desde que ele esteja rodando em MS Windows. Veja o GIF abaixo.

Nesse mesmo link do aplicativo, você vai encontrar o arquivo apenas com o código de programação, o arquivo “InverteBarra.ahk”. Ele é aberto no bloco de notas, caso você quiser dar uma olhada.

De toda forma, pretendo postar mais truques com o AHK em outros posts. Super recomendo que todos baixem o AHK e tentem a usar os códigos.

Enjoy!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s