These action codes operate like functions. They take one or more inputs and returns an output. Normally the latter is passed to an attribute but in a few cases, e.g. action() or runCommand(), the function may simply be called.
Such operators are:
- (!$AttributeName) (short form test for no value)
- $AttributeName (short form test for value)
- abs(number)
- action(code)
- any(group,testValue)
- atan(number)
- attribute("attributeName")["key"]
- attributeEncode(data)
- avg_if(group,condition,value)
- avg(group,value)
- between(value,min,max)
- capitalize(data)
- ceil(number)
- collect_if(group,condition,attribute)
- collect(group,attribute)
- Color.format
- compositeFor("item")
- compositeWithName("compositeName")
- contains(item)
- cos(number)
- count_if(group, condition)
- count(list)
- covid()
- create([pathTo,] name)
- createAgent([pathTo,] name)
- createAttribute(name[, type])
- createLink(sourceItem,destinationItem[,linkType])
- Date.format("formatString")
- date(string)
- date(year,month,day,[hour,min])
- day(theDate[,value])
- days(date1,date2)
- degrees(number)
- delete(item)
- descendedFrom(item)
- Dictionary.add(key, value)
- Dictionary.contains(key)
- Dictionary.extend(key, value)
- Dictionary.icontains(key)
- dictionary(string)
- Dictionary["key"]
- distance(note1,note2)
- distanceTo(note1,note2)
- do(macro[,args])
- document["key"]
- drivingTimeTo(note)
- eachLink(LoopVar){action}
- escapeHTML(data)
- eval([item],expression)
- every(group,value)
- exp(number)
- exportedString("item",template)
- fail()
- failed()
- find(query)
- first(item[,number])
- firstWord("data")
- floor(number)
- format(data, "formatString")
- function fName(argument1, argument2, …){code}
- hasLocalValue("attributeName"[,target])
- hour(theDate[,value])
- hours(date1,date2)
- idEncode(data)
- if(condition){action}[else{action}]
- indented(N[,"item"])
- inheritsFrom(["item",]"prototype")
- inside("item")
- Interval.format("formatString")
- interval(date1,date2)
- isbn10("data")
- isbn13("data")
- jsonEncode(data)
- last("item"[,N])
- lastWord("data")
- linkedFrom("[item|group]"[,linkType])
- linkedTo("[item|group]"[,linkType])
- linkFrom(["item|group"][,"linkType"])
- linkFromOriginal(["item|group"][,"linkType"])
- linkPath (pathName [, start [,end] ])
- links[(item|group)].kind.[linkType].attribute
- linkTo(["item|group"][,"linkType"])
- linkToOriginal(["item|group"][,"linkType"])
- List.isort([$Attribute])
- List.nsort([$Attribute])
- List.sort([$Attribute])
- List.unique
- list(expression_list)
- List/Set.any(element, expression)
- List/Set.at(N)
- List/Set.avg
- List/Set.collect_if(label, condition, expression)
- List/Set.collect(label, expression)
- List/Set.contains("regex")
- List/Set.containsAnyOf("list")
- List/Set.countOccurrencesOf("string")
- List/Set.each(LoopVar){action}
- List/Set.every(element, expression)
- List/Set.format("formatString")
- List/Set.icontains("regex")
- List/Set.icontainsAnyOf("list")
- List/Set.intersect(set)
- List/Set.lookup("key")
- List/Set.remove()
- List/Set.replace("match","replacement")
- List/Set.reverse
- List/Set.sum
- List/Set.tr(dataIn,dataOut)
- List/Set[N]
- locale(code)
- log(number)
- lowercase(data)
- max(list)
- min(list)
- minute(theDate[,value])
- minutes(date1,date2)
- mod(numberA,numberB)
- month(theDate[,value])
- months(date1,date2)
- neighbors(item|group, N[, linkType])
- neighbors2(item|group, N[, linkType])
- neighbors2Within(item|group, N[, linkType])
- neighborsWithin(item|group, N[, linkType])
- notify(headline[, details, deliveryTime ])
- Number.format(decimalsN[,widthN][,padStr])
- Number.precision(N)
- originalLinkedFrom(designator[,linkType])
- originalLinkedTo(designator[,linkType])
- play("sound-file")
- pow(number,power)
- radians(number)
- rand()
- rgb(red,green,blue)
- round(number)
- runCommand(commandLine[,inputs,directory])
- seconds(date1,date2)
- similarTo("item",N)
- sin(number)
- sqrt(number)
- stamp([items, ]stampName)
- Stream.captureJSON
- Stream.captureLine[("targetAttribute")]
- Stream.captureNumber[("targetAttribute")]
- Stream.captureRest[("targetAttribute")]
- Stream.captureTo("matchString"[,"targetAttribute"])
- Stream.captureToken[("targetAttribute")]
- Stream.captureWord[("targetAttribute")]
- Stream.captureXML
- Stream.eachLine(LoopVar[:condition]){action}
- Stream.expect("matchString")
- Stream.expectNumber
- Stream.expectWhitespace
- Stream.expectWord
- Stream.failed
- Stream.json.each{action}
- Stream.json["key"]
- Stream.json[N]
- Stream.skip(N)
- Stream.skipTo("matchString")
- Stream.skipToNumber
- Stream.skipWhitespace
- Stream.try{action}[.thenTry{action}]
- Stream.xml.each(path){action}
- Stream.xml(path)
- String.beginsWith("string")
- String.capitalize
- String.contains("regex")
- String.containsAnyOf(aSet)
- String.countOccurrencesOf("string")
- String.deleteCharacters("characterSet")
- String.endsWith("string")
- String.extract("regex")
- String.extractAll("regex")
- String.find("string")
- String.following("match")
- String.icontains("regex")
- String.icontainsAnyOf(aSet)
- String.json()
- String.jsonEncode("string")
- String.lowercase()
- String.next
- String.paragraph(N)
- String.paragraphs(N)
- String.replace("find","replacement")
- String.reverse()
- String.speak(["voice"])
- String.split("regex")
- String.substr(startN[,lengthN])
- String.toNumber
- String.tr("dataIn","dataOut")
- String.trim(["punctuation"])
- String.uppercase()
- String.words(N)
- StyledString.bold
- StyledString.fontSize(N)
- StyledString.italic
- StyledString.plain
- StyledString.strike
- StyledString.textColor(color)
- substr(data,start[,length])
- sum_if(group,condition,value)
- sum(group, value)
- tan(number)
- time(theDate,hours,minutes,seconds)
- time(theDate)
- twitter(username,status)
- type("attributeName")
- unlinkFrom(["item|group"][,"linkType"])
- unlinkFromOriginal(["item|group"][,"linkType"])
- unlinkTo(["item|group"][,"linkType"])
- unlinkToOriginal(["item|group"][,"linkType"])
- update(group)
- uppercase(data)
- urlEncode(data)
- values([group,]attribute)
- weeks(start, end)
- word(data)
- wordsRelatedTo("term"[,N])
- year(theDate[,value])
- years(date1,date2)