Smart functions can also be used directly in transaction to derive a particular value. The role of smart functions directly used in transactions is to derive objects NOT to accept/reject transactions.
To use smart functions directly in transactions, we need to put our code inside of a string, and prefix the code with a
For example, to add ", Sr." to the end of a person's full name, we can use two built-in smart functions,
str concatenates strings, and
?pO retrieves the previous object. In this case, we expect the final object of
person/fullName to be
Jane Doe, Sr..
"_id": ["person/handle", "jdoe"],
"fullName": "#(str (?pO) \", Sr.\")"