zsh-workers
 help / color / mirror / code / Atom feed
8a1be1e36ff175e149221647356d4a3dcdd0a33b blob 1983 bytes (raw)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
 
# Test parameter expansion with namespace syntax
# (heavily borrowed from D04parameter.ztst)

%prep

%test

  .k02.foo='the first parameter'
  .k02.bar='the second parameter'
  print -l $.k02.foo ${.k02.bar}
0:Basic scalars with namespace
F:Braces are required
>$.k02.foo
>the second parameter

  typeset .k02.bar='the second parameter'
  print -l ${.k02.bar}
0:Scalar but with typeset
>the second parameter

  .k02.array1=(the first array)
  .k02.array2=(the second array)
  print -l $.k02.array1 ${.k02.array2}
0:Basic arrays with namespace
>$.k02.array1
>the
>second
>array

  typeset -a .k02.array2=(the second array)
  print -l ${.k02.array2}
0:Array but with typeset
>the
>second
>array

  setopt ksharrays
  print -l ${.k02.array2}
  unsetopt ksharrays
0:Basic ksharray with namespace
>the

  setopt shwordsplit
  print -l ${.k02.foo} ${==.k02.bar}
  unsetopt shwordsplit
0:Basic shwordsplit with namespace
>the
>first
>parameter
>the second parameter

  print ${+.k02.foo} ${+.k02.notappearinginthistest}
0:$+... and namespace
>1 0

  .k02.x=()
  print ${+.k02.x} ${+.k02.x[1]} ${+.k02.x[(r)foo]} ${+.k02.x[(r)bar]}
  .k02.x=(foo)
  print ${+.k02.x} ${+.k02.x[1]} ${+.k02.x[(r)foo]} ${+.k02.x[(r)bar]}
0:$+... with arrays and namespace
>1 0 0 0
>1 1 1 0

  # See D04 for complete explanation.
  # For K02 we're just testing that flag syntax works.
  .k02.foo='<five> {six} (seven) >eight< }nine{ |forty-two| $many$ )ten( more'
  .k02.array=(${(z).k02.foo})
  print -l ${(Q).k02.array}
0:${(z)...} and ${(Q)...} for some hard to parse cases
><
>five
>>
>{six}
>(
>seven
>)
>>
>eight
><
>}nine{
>|
>forty-two
>|
>$many$
>)
>ten( more

  .k02.array=(characters in an array)
  print ${(c)#.k02.array}
0:${(c)#...}
>22

  () {
    typeset -n .k02.ref=.k02.array
    emulate -L ksh
    print -l ${!.k02.ref} ${(!).k02.ref} ${.k02.ref}
  }
0:namerefs with namespaces
>.k02.array
>.k02.array
>characters

  k.2=test
  print ${k.2}
0:Parse without leading dot (future proofing)
>test
debug log:

solving 8a1be1e36 ...
found 8a1be1e36 in https://git.vuxu.org/mirror/zsh/

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).