library(S7)
# problem -----------------------------------------------------------------
class_a <- new_class("class_a", properties = list(x = class_character))
class_b <- new_class(
"class_b",
properties = list(class_a = class_a),
constructor = function(class_a = class_a()) {
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| lambda <- function(expr, args = ".i") { | |
| fun <- function() { } | |
| formals(fun) <- structure( | |
| rep(list(substitute()), length(args)), | |
| class = "alist", | |
| names = args | |
| ) | |
| if (is.function(expr)) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| databricks <- local(envir = new.env(), { | |
| .self <- environment() | |
| .client <- NULL | |
| .call <- function(method, args) { | |
| if (is.null(.client)) { | |
| stop( | |
| "No client conigured", | |
| "\nplease use $configure() function to set client", | |
| call. = FALSE |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| x <- runif(1000) | |
| plotly::plot_ly( | |
| x = x, | |
| type = "histogram", | |
| ) |> | |
| plotly::layout( | |
| bargap = 0.05, | |
| shapes = list( | |
| vline(mean(x), "mint", "mean"), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # I usually alias this as `git arbor` | |
| # | |
| # I should also probably add https://stackoverflow.com/a/28502292 for the git-checkout one | |
| git fetch -a -p && git branch --merged | grep -Ev \"(^\\*|master|main|dev)\" | xargs git branch -d |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #' Evaluate an R6 object within its enclosed environment | |
| #' | |
| #' @param x An R6 object | |
| #' @param expr An expression to run | |
| #' @export | |
| #' @examples | |
| #' Foo <- R6::R6Class( | |
| #' "Foo", | |
| #' public = list( | |
| #' hello = function() cat("hello\n") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # nolint start: object_usage_linter. | |
| sql_snakecase0 <- function(.data, new, old = new, na = "(missing)") { | |
| force(old) | |
| na <- as.character(na) | |
| dplyr::mutate( | |
| .data, | |
| !!rlang::sym(new) := tolower(!!rlang::sym(old)), | |
| !!rlang::sym(new) := REGEXP_REPLACE(!!rlang::sym(new), "\\%", "percent "), | |
| !!rlang::sym(new) := REGEXP_REPLACE(!!rlang::sym(new), "\\#", "n "), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| vendor <- function() { | |
| ns <- asNamespace("fuj") | |
| writeLines( | |
| unlist(sapply( | |
| ls(ns), | |
| function(x) { | |
| format(call("assign", x, get(x, ns))) | |
| } | |
| )), | |
| "R/fuj.R" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| largest_ns_object <- function(ns, mode = "any") { | |
| ns <- asNamespace(ns) | |
| sizes <- vapply( | |
| ls(ns, all.names = TRUE), | |
| \(x) utils::object.size(get0(x, ns, mode = mode)), | |
| NA_real_ | |
| ) | |
| sizes[which.max(sizes)] | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #' Include exports | |
| #' | |
| #' Include (attach) a package and specific exports | |
| #' | |
| #' @description [include()] checks whether or not the namespace has been loaded | |
| #' to the [search()] path. It uses the naming convention `include:{package}` | |
| #' to denote the differences from loading via [library()] or [require()]. When | |
| #' `exports` is `NULL`, the environment is detached from the search path if | |
| #' found. When `exports` is not `NULL`, | |
| #' |