I have a question while using the a!pickerFieldCustom Component example in Document.
a!localVariables( local!pickedState, local!stateLabels: { "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming" }, local!stateAbbreviations: { "AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY" }, a!pickerFieldCustom( label: "State of Residence", instructions: "Value saved: " & local!pickedState, placeholder: "Type to select the employee's state of residence", maxSelections: 1, suggestFunction: rule!ucArrayPickerFilter( filter:_ , labels: local!stateLabels, identifiers: local!stateAbbreviations ), selectedLabels: a!forEach( items: local!pickedState, expression: index(local!stateLabels, wherecontains(fv!item, local!stateAbbreviations)) ), value: local!pickedState, saveInto: local!pickedState ) )
I wonder what the meaning of underscore ( _ ) in line 11 in this code.
Below is a link to the page I referenced.
https://docs.appian.com/suite/help/21.3/recipe-configure-an-array-picker.html
Discussion posts and replies are publicly visible
The technical term for the underscore is partial evaluation. It used to be something that was used pretty frequently in Appian. For example, the precursor to the a!forEach() function was called apply() and it often required using an underscore. However, with the introduction of newer functions, I believe this is the only place remaining that still uses an underscore.
Basically its purpose is that it allows you to evaluate the function without having that value defined yet. So if you add an underscore to the filter, it tells Appian that it doesn't need a value for that to render the component. However, once it does have a value for what the user typed in, this value will be inserted into the location where the underscore is provided and re-evaluated with the search text.
Thank you for the reply. It helped me understand.