Описание тега quasiquotes
1
ответ
rxDataStep "преобразовать" аргумент, используя квази-кавычку
Я пытаюсь использовать синтаксис квази-цитата (quo, exprs, !!и т. д.), а также foreach функция для создания нескольких новых переменных с помощью именованного списка выражений, которые будут оцениваться внутри rxDataStep функция, в частности, transf…
24 дек '18 в 17:41
1
ответ
Функция dplyr с необязательной группировкой только при наличии аргумента
Мне нужно написать функцию dplyr, которая создает настраиваемый участок площади. Итак, вот моя попытка. area_plot <- function(data, what, by){ by <- ensym(by) what <- ensym(what) data %>% filter(!is.na(!!by)) %>% group_by(date, !!by) …
16 окт '18 в 12:34
0
ответов
Нелинейные шаблоны в квази-кавычках
Я следовал этому руководству, чтобы реализовать квази-цитируемый DSL, и теперь я хочу поддерживать нелинейные шаблоны в цитируемом шаблоне. Это позволит повторному связыванию в шаблоне утверждать равенство сопоставленных данных. Например, можно напи…
22 фев '18 в 16:07
0
ответов
Scala квазиквота unlifting не компилируется в IntelliJ?
Возможно, я делаю что-то не так, но я следую документации здесь, https://docs.scala-lang.org/overviews/quasiquotes/unlifting.html который говорит val q"${left: Int} + ${right: Int}" = q"2 + 2" left: Int = 2 right: Int = 2 Поэтому я пишу такой код, и…
07 ноя '17 в 23:45
1
ответ
Использование квазицитированного аргумента для функции в вызове purrr:map
У меня возникли небольшие проблемы с вычислением квази-цитаты, в частности, у меня есть функция, которая принимает аргумент, который указывает, какая переменная должна входить в модель, которая затем запускается в вызове purrr:: map. Я работал с: ht…
02 ноя '18 в 14:12
2
ответа
Haskell QuasiQuotes Text.RawString.QQ интерполяция
Как я могу интерполировать так: {-# LANGUAGE QuasiQuotes #-} import Text.RawString.QQ myText :: Text -> Text myText myVariable = [r|line one line two line tree ${ myVariable } line five|] myText' :: Text myText' = myText "line four" ${ myVariable…
04 июн '18 в 20:21
1
ответ
Класс expr и exprs различаются в Rlang в R! Зачем?
Я не уверен, если это было задано здесь, но я очень смущен здесь. Я читаю эту удивительную книгу Хэдли Уикхэма под названием Advanced R. Есть функция называетсяcementчто было описано здесь, я немного изменил и пытаюсь понять это. library(rlang) ceme…
25 май '18 в 12:23
1
ответ
Подъемная струна со Скаламетой
Я хотел бы внедрить метод 'toCSV' для анализа класса в CSV String. Моя функция принимает два параметра: Seq [String]: заголовок Seq[Seq[Any]]: поля Мой макрос: class model extends scala.annotation.StaticAnnotation { inline def apply(defn: Any): Any …
26 дек '17 в 15:37
2
ответа
Использование rlang::sym внутри определения списка
Я пишу сценарий R, и мне нужно разрешить пользователю указывать имя переменной, которая будет обрабатываться вручную, т.е. var <- 'user_name' Вообще то я имею в виду, что с помощью rlang::sym и механизм цитирования / отмены цитирования. Тем не ме…
29 авг '18 в 13:05
1
ответ
Почему я не могу цитировать это предложение?
Я читаю некоторые заметки о квази-цитате здесь: https://dplyr.tidyverse.org/articles/programming.html. После первого прочтения я попробовал несколько вещей. Одно, в частности, меня смутило: x <- "foo" q <- quo(x) print(x) <quosure> expr:…
12 сен '18 в 01:04
1
ответ
Передайте несколько вызывающих аргументов формальному аргументу в пользовательской функции dplyr без использования "..."
Чтобы сделать настраиваемую функцию гибкой для получения одного или нескольких вызывающих аргументов на формальный аргумент, я в настоящее время полагаюсь на "...": library(dplyr) foo <- function(data, ..., dv){ groups <- enquos(...) dv <- …
05 ноя '18 в 19:12
1
ответ
Передача аргументов в кавычках внутри вложенных функций
Ниже я написал простую функцию snafu() который вычисляет новую переменную snafu_var, library(dplyr) df <- mtcars %>% select(am, cyl) %>% slice(1:5) snafu <- function(data, var1, var2){ require(dplyr) var1 <- enquo(var1) var2 <- enq…
28 авг '18 в 23:23
1
ответ
Передача переменных в функции, которые используют `enquo()`
У меня есть концептуальная проблема. Я хочу передать переменные в функцию, которая превращает некоторые из этих переменных в выражения через enquo (от dplyr / rlang пакеты). Тем не менее, я хочу сделать это с помощью других функций. Рассмотрим следу…
16 окт '18 в 23:30
1
ответ
Нестандартная оценка и квазиквотация в dplyr() работают не так, как ожидалось (наивно)
Я пытаюсь найти в базе данных, а затем пометить выходной файл с именем, полученным из исходного поиска, "derived_name" в воспроизводимом примере ниже. Я использую dplyr труба %>%и у меня возникли проблемы с квази-цитатой и / или нестандартной оце…
08 авг '18 в 03:35
0
ответов
Расширьте синтаксический анализатор, чтобы построить квази-квотер для паттернов
Я хотел бы построить квазиквотер для создания шаблонов, которые соответствуют поддеревьям в Java AST, так что вместо BasicFor (Just (ForInitExps init)) (Just cond) (Just inc) body Я могу написать что-то вроде [java|for (#init ; #cond ; #inc) #body|]…
09 фев '19 в 01:33
1
ответ
Как я могу написать шаблон квази-квотер в Haskell?
Я использую квази-кавычки для создания своих умно построенных типов данных во время компиляции. Это выглядит примерно так: import qualified Data.Text as T import Language.Haskell.TH.Quote (QuasiQuoter(..)) import Language.Haskell.TH (Q, Exp, Pat(..)…
21 фев '19 в 02:27
1
ответ
rlang: форма назначения кво, документация, нахождение. Или что-то
Многие примеры страниц справки для quo принимают формы, подобные этой, присваивая вывод quo quo: quo <- quo(letters) quo <- quo(toupper(!! quo)) quo eval_tidy(quo) Кажется очевидным, что эти назначения не перезаписывают функцию кво (поскольку …
17 дек '17 в 04:53
1
ответ
Передача пропущенных квази-цитатных аргументов
Я пытаюсь использовать квазиквотацию для передачи необработанного имени переменной в функцию, которая передает его другой функции. Тем не менее, аргумент является необязательным, поэтому мне нужно проверить, была ли 1-й функции задан этот аргумент и…
04 мар '19 в 14:38
1
ответ
Смешанный ввод в квазиквотации с dplyr
Я взял квази-цитату на высший уровень. Я близок к получению своего мастер-квазиквотатора (см. правки ниже). Остался один бит с челленджем. Использование разных входов для создания предложений с помощью dplyr. Конечный результат: the_quote <- quo(…
15 мар '19 в 14:43
1
ответ
Haskell аналог обратного цитирования и сплайсинга lisp
В некоторых списках (например, elisp, common lisp) есть функция, называемая обратным цитированием. Позволяет составить список, оценивая или встраивая в него некоторые элементы. Например: `(1 2 (3 (+ 4 5))) ⇒ (1 2 (3 (+ 4 5))) ; just quoted unevaluat…
19 апр '19 в 21:07