我想要一个函数,当传递一个只包含字母的字符串时,将字符串中的每个字母通过字母表旋转X个字符,其中X是函数的参数.这个着名的例子是当X = 13时,称为ROT-13
函数< - ROTx(str,x){ ?? }
这是我期望R精灵可以在几行中完成的事情,而我最终会有10个或更多.
见?chartr(实例部分):
rot <- function(ch, k = 13) {
p0 <- function(...) paste(c(...), collapse="")
A <- c(letters, LETTERS, " '")
I <- seq_len(k)
chartr(p0(A), p0(c(A[-I], A[I])), ch)
}
Run Code Online (Sandbox Code Playgroud)
或者在这里http://rosettacode.org/wiki/Rot-13#R:
rot13 <- function(x)
{
old <- paste(letters, LETTERS, collapse="", sep="")
new <- paste(substr(old, 27, 52), substr(old, 1, 26), sep="")
chartr(old, new, x)
}
Run Code Online (Sandbox Code Playgroud)