I hear that you would prefer to write it one way, but sorry, you can't. Well, you sort of can, you need to look at "policy => free" or the synonym for this which is "policy => overridable", but we think you'd be wrong.
Let me give you a counterexample. I program in C, and there really have been times where I wish I could have written x = ++y++; But I can't, so I have to write: x = ++y; y++; I survived. You can do things the way that they are meant to be done in the language, or you can try to find ways around it. You will probably find a way, but then you'll have other problems down the road. I really recommend that you use the language the way it is intended :-) -Dan > --===============1372037647== > Content-Type: multipart/signed; boundary="=-=-="; > micalg=pgp-sha512; protocol="application/pgp-signature" > > --=-=-= > Content-Type: text/plain; charset=utf-8 > Content-Transfer-Encoding: quoted-printable > > Mark Burgess <mark.burg...@iu.hio.no> writes: > > > I think Daniel makes a good case, although Seva is right that defining a = > new variable is > > less ambiguous, as you would probably not want to rely on the actual cont= > ents of a > > variable that is changing dynamically in a complex environment. > > The first use case I see is, from my mail on 26th may: > > =3D=3D=3D=3D > body common control > { > bundlesequence =3D> { "test" }; > version =3D> "0.0.1"; > } > > bundle agent test > { > vars: > any:: > "list" slist =3D> {"0", @(l1), @(l2)}; > > Class1:: > "l1" slist =3D> {"1", "2"}; > > Class2:: > "l2" slist =3D> {"3", "4"}; > > commands: > "/bin/echo $(list)"; > } > =3D=3D=3D=3D > > In this case, l1 and l2 are "technical" lists, lists only used to > overcome the lack of append. > > I really prefer to write: > =3D=3D=3D=3D > vars: > any:: > "list" slist =3D> {"0"}; > > Class1:: > "list" slist =3D> {"1", "2"}; > > Class2:: > "list" slist =3D> {"3", "4"}; > =3D=3D=3D=3D > > This feature could be used to build a list by combining items of other list= > s: > > =3D=3D=3D=3D > body common control > { > bundlesequence =3D> { "test" }; > version =3D> "0.0.2"; > } > > bundle agent test > { > > vars: > > any:: > > "dirs" slist =3D> {"dir1", "dir2"}; > "files" slist =3D> {"f1", "f2"}; > > "list" slist =3D> {"$(dirs)/$(files)"}; > > commands: > > "/bin/echo $(list)"; > } > =3D=3D=3D=3D > > Results in: > > =3D=3D=3D=3D > /usr/sbin/cf-agent -K=20 > !! Redefinition of variable "list" (embedded list in RHS) in context "test" > !! Redefinition of variable "list" (embedded list in RHS) in context "test" > !! Redefinition of variable "list" (embedded list in RHS) in context "test" > Q: ".../bin/echo $(dir": $(dirs)/$(files) > I: Last 1 QUOTEed lines were generated by promiser "/bin/echo $(dirs)/$(fil= > es)" > I: Made in version '0.0.2' of '/home/dad/.cfagent/inputs/promises.cf' near = > line 21 > =3D=3D=3D=3D > > Regards. > =2D-=20 > Daniel Dehennin > R=C3=A9cup=C3=A9rer ma clef GPG: > gpg --keyserver pgp.mit.edu --recv-keys 0x6A2540D1 > > --=-=-= > Content-Type: application/pgp-signature > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.14 (GNU/Linux) > > iEYEAREKAAYFAkwKpCQACgkQb97L6l6P4Ft0eQCdHE3ouGNDt0qpaZMhXdEl13Bg > WBYAmgNKM2IKXSQyeLrNkn6kp/iu0ugZ > =gB+k > -----END PGP SIGNATURE----- > --=-=-=-- > > --===============1372037647== > Content-Type: text/plain; charset="us-ascii" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > Content-Disposition: inline > > _______________________________________________ > Help-cfengine mailing list > Help-cfengine@cfengine.org > https://cfengine.org/mailman/listinfo/help-cfengine > > --===============1372037647==-- _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine