zsh-workers
 help / color / mirror / code / Atom feed
* using dynamic patterns on the left hand side of case statement clauses
@ 2020-03-18 23:54 scowles
  2020-03-19  1:29 ` Lawrence Velázquez
  0 siblings, 1 reply; 5+ messages in thread
From: scowles @ 2020-03-18 23:54 UTC (permalink / raw)
  To: Zsh hackers list


i would like to use dynamic patterns on the left hand side of clauses in case 
statements.

i'm working in zsh current as of 3.1-91-g7595b22e on ubu 19.10.

the options set for this example are:
    setopt extended_glob
    setopt glob
    setopt no_no_match
    setopt no_null_glob

the code is:
    typeset -a a b c
    a=( one two three four )
    b=( 16 17 18 19 20 )
    c=( two 20 )
    vb=$'|'
    for d in ${c}
    do
       case ${d} in
           $( eval echo ${(j:${vb}:)a} ) ) echo "1 found it" ;;
           $( eval echo ${(j:${vb}:)b} ) ) echo "2 found it" ;;
           * )                             echo "did not find it" ;;
       esac
    done


but, when i run the code, the interpreter escapes all the vbars and forces the
entire lhs pattern to be a string.

does the case structure not allow this use case?  or am i just missing something
from not reading docs carefully enough?

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-19 17:48 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-18 23:54 using dynamic patterns on the left hand side of case statement clauses scowles
2020-03-19  1:29 ` Lawrence Velázquez
2020-03-19  4:38   ` Phil Pennock
2020-03-19  5:25     ` Lawrence Velázquez
2020-03-19 17:47       ` scowles

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).