Array Indexing
RecursiveNamespace provides special syntax for working with arrays.
Basic Array Access
from recursivenamespace import RNS
rn = RNS({
'items': [
{'name': 'Item 1'},
{'name': 'Item 2'},
{'name': 'Item 3'}
]
})
# Access by index
rn.val_set('items[].0.name', 'Updated Item 1')
# Access last item
rn.val_set('items[].-1.name', 'Last Item')
Appending to Arrays
Use the # symbol to append:
# Append a new item
rn.val_set('items[].#', {'name': 'New Item'})
# Append with nested values
rn.val_set('items[].#.name', 'Another Item')
Nested Arrays
rn = RNS({
'matrix': [
[1, 2, 3],
[4, 5, 6]
]
})
# Access nested array element
value = rn.val_get('matrix[].0[].1') # 2
# Modify nested array
rn.val_set('matrix[].1[].0', 10) # matrix[1][0] = 10
Complex Example
# Create nested structure with arrays
rn = RNS()
rn.val_set('users[].#.name', 'Alice')
rn.val_set('users[].-1.emails[].#', 'alice@example.com')
rn.val_set('users[].-1.emails[].#', 'alice2@example.com')
# Result:
# {
# 'users': [
# {
# 'name': 'Alice',
# 'emails': ['alice@example.com', 'alice2@example.com']
# }
# ]
# }