| AccessMutate.JuliaProxy | R Documentation |
Apply the R operators $ and $<-, [ and [<-, [[
and [[<- to access or modify parts of Julia objects via their proxy objects.
For an intuitive understanding, best see the examples below.
## S3 method for class 'JuliaStructProxy'
x$name
## S3 replacement method for class 'JuliaStructProxy'
x$name <- value
## S3 method for class 'JuliaProxy'
x[...]
## S3 replacement method for class 'JuliaProxy'
x[i, j, k] <- value
## S3 method for class 'JuliaSimpleArrayProxy'
x[...]
## S3 method for class 'JuliaArrayProxy'
x[[...]]
## S3 replacement method for class 'JuliaArrayProxy'
x[[i, j, k]] <- value
## S3 method for class 'JuliaStructProxy'
x[[name]]
## S3 replacement method for class 'JuliaStructProxy'
x[[name]] <- value
## S3 method for class 'JuliaArrayProxy'
length(x)
## S3 method for class 'JuliaArrayProxy'
dim(x)
x |
a Julia proxy object |
name |
the field of a struct type, the name of a member in a |
value |
a suitable replacement value. When replacing a range of elements in an array type, it is possible to replace multiple elements with single elements. In all other cases, the length of the replacement must match the number of elements to replace. |
i, j, k, ... |
index(es) for specifying the elements to extract or replace |
The operators $ and [[ allow to access properties of Julia structs
and NamedTuples via their proxy objects.
For dictionaries (Julia type AbstractDict), $ and [[
can also be used to look up string keys.
Fields of mutable structs and dictionary elements with string keys
can be set via $<- and [[<-.
For AbstractArrays, the [, [<-, [[, and [[<-
operators relay to the getindex and setindex! Julia functions.
The [[ and [[<- operators are used to access or mutate a single element.
With [ and [<-, a range of objects is accessed or mutated.
The elements of Tuples can also be accessed via [ and [[.
The dimensions of proxy objects for Julia AbstractArrays and Tuples
can be queried via length and dim.
## Not run: #'
# (Mutable) struct
juliaEval("mutable struct MyStruct
x::Int
end")
MyStruct <- juliaFun("MyStruct")
s <- MyStruct(1L)
s$x
s$x <- 2
s[["x"]]
# Array
x <- juliaCall("map", MyStruct, c(1L, 2L, 3L))
x
length(x)
x[[1]]
x[[1]]$x
x[[1]] <- MyStruct(2L)
x[2:3]
x[2:3] <- MyStruct(2L)
x
# Tuple
x <- juliaEval("(1, 2, 3)")
x[[1]]
x[1:2]
length(x)
# NamedTuple
x <- juliaEval("(a=1, b=2)")
x$a
# Dictionary
strDict <- juliaEval('Dict("hi" => 1, "hello" => 2)')
strDict
strDict$hi
strDict$hi <- 0
strDict[["hi"]] <- 2
strDict["howdy", "greetings"] <- c(2, 3)
strDict["hi", "howdy"]
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.