Сокращение для wrapr :: lambda не работает на Windows - PullRequest
0 голосов
/ 22 мая 2018

В виньетке функции wrapr написано, что следующий код должен работать, хотя и не соблюдая стандартное использование имен для имени функции.

library(wrapr)
wrapr::defineLambda()
sapply(1:4, λ(x, x^2))

Он эффективно работает на моем LINUXмашина, но не в Windows, где интерпретатор, кажется, отклоняет специальный символ.Есть ли возможность указать, чтобы пример работал?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если вас волнует сокращение из одного символа, то оно работает с любым алфавитом в вдовах.например,

a <- lambda(x, x^2)
sapply(1:4, a)

дает

[1]  1  4  9 16

Признаюсь, забавно, что специальный символ не будет работать на окнах.


Этоответ предлагает использовать backticks для использования специальных символов, например:

`\λ` <- lambda(x, x^2)
sapply(1:4, `\λ`)

, что дает:

[1]  1  4  9 16
0 голосов
/ 22 мая 2018

Я думаю, defineLambda() должен быть вызван в течение sapply вызова

sapply(1:4, defineLambda()(x, x^2))
#[1]  1  4  9 16

или

sapply(1:4, 'λ'(x, x^2))
#[1]  1  4  9 16
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...