Lichen

tests/string.py

360:209dc7a270fd
2016-12-09 Paul Boddie Added support for dynamic attribute access using getattr and hasattr, employing a special attribute on strings to hold the object table code and position for any attribute having the same name as the represented string.
     1 s = "Hello"     2 s += " world!"     3 print s                     # Hello world!     4      5 s2 = "Hello worlds!"     6 print s2                    # Hello worlds!     7 print s < s2                # True     8 print s <= s2               # True     9 print s == s2               # False    10 print s != s2               # True    11 print s >= s2               # False    12 print s > s2                # False    13     14 print s[0]                  # H    15 print s[-1]                 # !    16     17 print ord(s[0])             # 72    18     19 try:    20     print ord(s)            # should raise an exception    21 except ValueError, exc:    22     print "ord(s): value is not appropriate", exc.value    23     24 l = ["Hello", "world!"]    25 s3 = " ".join(l)    26 print s3                    # Hello world!    27     28 s4 = "".join(l)    29 print s4                    # Helloworld!    30     31 print hash(s)    32 print hash(s2)    33 print hash(s3)    34 print hash(s4)