DMUG-Archiv 2008

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: scoping Rule[]

Hi Jens,

In jeder "normalen" Progsprache benennt man die lokalen Paramter schlicht und einfach anders als eine eventuelle spezielle globale Variable auf die man zugreifen will und vermeidet ganz einfach die Mehrdeutigkeit.

Ich bestreite ja generell nicht den allgemeinen Nutzen beider Konstrukte Block[] und Module[], habe aber im Falle der Rule[] meine zweifel ob MMA hier wirklich "schlau" und korrekt agiert.

l.g. Robert

Jens-Peer Kuska schrieb:


schiesslich stand im Original Module[{x, y}, {a, b} /. {x_, y_} -> {y, x}]
ist also das umbenannte "x" aus dem Module[] gemeint also
 Block[{x$1,y$2}, {a,b} /. {x$1_,y$1_}-> {y$2,x$1}]
oder aber das Globale x
  Block[{x$1,y$2}, {a,b} /. {x$1_,y$1_}-> {y,x}]

Die sind beide gleich gut und um die Mehrdeutigkeit  aufzuloesen hat man

Block[{x$1,y$2}, {a,b} /. {x$1_,y$1_}-> {y,x}]

genommen. Da gibt es nix zu erklaeren, das ist so (!), genauso wir Sqrt[4] eine 2 ergibt und keine -2.



--
Robert Nowak
IMS Nanofabrication AG
Phone: +43/12144894/32
Fax: +43/12144894/99

Verweise:
scoping Rule[]
Robert Nowak, 12.11.2008
Re: scoping Rule[]
Jens-Peer Kuska, 13.11.2008

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 13.11.2008 14:33