Keywords: gildas-python

Next: Object status in SIC: Up: Importing SIC objects Previous: SIC images Contents Index

### Handling character strings

Character strings are imported in a `SicVar` instance as any other SIC variable:

    >>> Sic.comm('DEFINE CHARACTER G*8')
    >>> Sic.comm('LET G "ABCDEFGH"')
    >>> g
    'ABCDEFGH'
    >>> print g
    <SicVar instance>
    array('ABCDEFGH',
          dtype='|S8')
    >>> len(g)
    8

Remember that `numpy.ndarray`'s provide the `.tostring()` method which returns a Python string resulting of the concatenation of elements of a character array ('`|S*`' dtypes). This can be useful to handle SIC strings in Python. Nevertheless string concatenation and multiplication is already implemented in `SicVar` instances:

    >>> h = 'xyz' + g + 'ijk'
    >>> h
    'xyzABCDEFGHijk'
    >>> type(h)
    <type 'str'> # A standard Python string
    >>> h = 2*g
    >>> h
    'ABCDEFGHABCDEFGH'

These `SicVar` strings can also be easily modified11:

    >>> g[0] = "qwerty"
    >>> g
    'qwerty  ' # note 'g' has been automatically blank filled
    >>> Sic.comm('EXA G')
    G     = qwerty             ! Character* 8 GLOBAL