### Lexical Scoping # # erleichtert die fortgeschrittene Programmierung, ist aber relativ schwer zu beherrschen, deshalb wird es hier nicht behandelt demo(scoping) # recht illustrativ ### Namespaces pi # pi ist im base-Paket definiert pi = 1 # man darf pi jedoch "?berschreiben" base::pi # um das urspr?ngliche pi wieder zu finden ivreg # Nicht definiert... AER:::ivreg # Aber im AER Paket schon # get() funktioniert analog zu assign, um Objekte aus beliebigen Ebenen anzusprechen ################################################# ### Umgang mit Fehlern ################################################# ### Fehler in einzelnen Codezeilen a get(a) ?get # get ben?tigt als Eingabe einen Variablennamen als "character". get("a") # Fehler in einzelnen Codezeilen sollten kein Problem darstellen, da diese einfach aufgef?hrt und ?berpr?ft werden k?nnen # Hauptfehlerquellen, Klammern zuviel/zuwenig, Anf?hrungszeichen zuviel/zuwenig, Kommas zuviel/zuwenig, etc. ### Fehler in komplexen Objekten (Schleifen, Funktionen) # Zerlege das Problem in einzelne Teile, die jeweils auf Funktionalit?t ?berpr?ft werden # zudem: ?stop ?warnings ?message # Zu Fehlern in verschachtelten Funktionen siehe: Ligges (2008), S. 86-91 ################################################# ### Aufgaben G ################################################# # 0. Gehen Sie den obigen Code noch einmal in Ruhe durch, lesen Sie, wenn n?tig, die Hilfedateien zu den Funktionen # und Ligges (2008), insbesondere das gesamte 4. Kapitel!