Exemple #1
0
 def do_slot_assign(self, name: str, value) -> None:
     _rinterface._assert_valid_slotname(name)
     cchar = conversion._str_to_cchar(name)
     with memorymanagement.rmemory() as rmemory:
         name_r = rmemory.protect(openrlib.rlib.Rf_install(cchar))
         cdata = rmemory.protect(conversion._get_cdata(value))
         openrlib.rlib.R_do_slot_assign(self.__sexp__._cdata, name_r, cdata)
Exemple #2
0
 def do_slot(self, name: str) -> None:
     _rinterface._assert_valid_slotname(name)
     cchar = conversion._str_to_cchar(name)
     with memorymanagement.rmemory() as rmemory:
         name_r = rmemory.protect(openrlib.rlib.Rf_install(cchar))
         if not _rinterface._has_slot(self.__sexp__._cdata, name_r):
             raise LookupError(name)
         res = openrlib.rlib.R_do_slot(self.__sexp__._cdata, name_r)
     return res