▁current ▁body ▁no ▁matter ▁how ▁deep ▁inside ▁a ▁procedure , ▁until ▁reaching ▁the ▁procedure ▁boundary , ▁and ▁returns ▁given ▁value ▁to ▁the ▁caller . ▁ ▁Advanced ▁commands ▁▁ ▁expr ▁passes ▁the ▁argument ▁to ▁a ▁separate ▁expression ▁interpreter ▁and ▁returns ▁the ▁evaluated ▁value . ▁Note ▁that ▁the ▁same ▁interpreter ▁is ▁used ▁also ▁for ▁" cond itional " ▁expression ▁for ▁if ▁and ▁looping ▁commands . ▁ ▁list ▁creates ▁a ▁list ▁compr ising ▁all ▁the ▁arguments , ▁or ▁an ▁empty ▁string ▁if ▁no ▁argument ▁is ▁specified . ▁The ▁l index ▁command ▁may ▁be ▁used ▁on ▁the ▁result ▁to ▁re - extract ▁the ▁original ▁arguments . ▁ ▁array ▁manip ul ates ▁array ▁variables . ▁ ▁dict ▁manip ul ates ▁dictionary ▁( since ▁ 8 . 5 ), ▁which ▁are ▁lists ▁with ▁an ▁even ▁number ▁of ▁elements ▁where ▁every ▁two ▁elements ▁are ▁interpreted ▁as ▁a ▁key / value ▁pair . ▁ ▁regex p ▁matches ▁a ▁regular ▁expression ▁against ▁a ▁string . ▁ ▁u ple vel ▁is ▁a ▁command ▁that ▁allows ▁a ▁command ▁script ▁to ▁be ▁executed ▁in ▁a ▁scope ▁other ▁than ▁the ▁current ▁inn erm ost ▁scope ▁on ▁the ▁stack . ▁ ▁up var ▁creates ▁a ▁link ▁to ▁variable ▁in ▁a ▁different ▁stack ▁frame . ▁ ▁namespace ▁lets ▁you ▁create , ▁access , ▁and ▁destroy ▁separate ▁context s ▁for ▁commands ▁and ▁variables . ▁ ▁apply ▁applies ▁an ▁anonymous ▁function ▁( since ▁ 8 . 6 ). ▁ ▁cor out ine , ▁yield , ▁and ▁yield to ▁create ▁and ▁produce ▁values ▁from ▁cor out ines ▁( since ▁ 8