Хотя parse
возвращает expression
, структура не такая, как если бы она была создана expression()
,
Взгляните на str
:
> str(a)
length 1 expression(ar1 = 0)
- attr(*, "srcref")=List of 1
..$ :Class 'srcref' atomic [1:8] 1 1 1 7 1 7 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x000000000e0aaa00>
- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x000000000e0aaa00>
- attr(*, "wholeSrcref")=Class 'srcref' atomic [1:8] 1 0 2 0 0 0 1 2
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x000000000e0aaa00>
> str(b)
structure(expression(ar1 = 0), .Names = "ar1")
Заметим, что str(b)
имеет атрибут name.Мы могли бы также попытаться дать a
: 1011
> a <- structure(parse(text="0"), .Names = "ar1")
> a$ar1
[1] 0