Danke Prof.Flatscher.

 

Nur z.Kts, rexxref ist auf https://www.oorexx.org/docs/ nicht mehr verfügbar.

 

(Not found. The requested URL /docs/rexxref/rexxref.pdf was not found on this server)

 

Ich glaube die Datei is auf https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0beta/ zu finden.

 

Lg, Jana

 

From: Wu_bp_2022w <wu_bp_2022w-bounces@alice.wu.ac.at> On Behalf Of Rony G. Flatscher
Sent: Donnerstag, 24. November 2022 16:53
To: wu_bp_2022w@alice.wu.ac.at
Subject: Re: [Wu_bp_2022w] G03 T06

 

Liebe Gruppe 3,

ganz kurz.

On 24.11.2022 16:01, Hietel, Birgit wrote:

Liebe Alle,

 

hier unsere HÜ.

Uns ist in der letzten Einheit wohl nicht alles ganz klar gewesen, daher gibt es einige Fragen.

 

*** Aufgabe 1a: ***

/**/

p1 = .Person~New("Kurt","Ostbahn","45000")

p2 = .Person~New("Jazz","Gitti",55000)

SAY p1~firstName p1~familyName p1~salary

SAY p1~firstName p1~salary p1~~increaseSalary(10000)~salary

::CLASS Person

::METHOD INIT

EXPOSE firstName familyName salary

USE ARG firstName, familyName, salary

::ATTRIBUTE firstName

::ATTRIBUTE familyName

::ATTRIBUTE salary

::METHOD increaseSalary

EXPOSE salary

USE ARG increase

salary = salary + increase

SAY p1~salary

 

In der Methode "increaseSalary" hat die Variable "p1" keinen Wert, sodass der Name der Variable in Großbuchstaben (eine Zeichenkette) eingesetzt wird. Die Zeichenkette "P1" verfügt über keine Methode, die "salary" heißt, einfach in rexxref.pdf nachschlagen und die Methoden der Klasse "String" studieren.

 

Output:
Kurt Ostbahn 45000
    18 *-* SAY p1~salary
     5 *-* SAY p1~firstName p1~salary p1~~increaseSalary(10000)~salary
Error 97 running C:\U line 18:  Object method not found.
Error 97.1:  Object "P1" does not understand message "SALARY".

Process finished with exit code -97

Frage: Warum bekommen wir diese Fehlermeldung?

Siehe obige Erklärung.

 

 

*** Aufgabe 1b: ***

/**/
p1 = .Person~New("Kurt","Ostbahn","45000")
p2 = .Person~New("Jazz","Gitti",55000)
SAY p1~firstName p1~familyName p1~salary
 
SAY p1~firstName p1~salary p1~~increaseSalary(10000)~salary
::CLASS Person
::METHOD INIT
EXPOSE firstName familyName salary
USE ARG firstName, familyName, salary
::ATTRIBUTE firstName
::ATTRIBUTE familyName
::ATTRIBUTE salary
::METHOD increaseSalary
EXPOSE salary
USE ARG increase
salary = salary + increase
 
SAY "Hallihallo"

 

Output:
Kurt Ostbahn 45000
Hallihallo
Kurt 45000 55000

Frage: Warum ist es mit „Hallihallo“ möglich (vgl. zu Aufgabe 1a) ? Wieso ist „Hallihallo“ in der zweiten Ausgabezeile?

Wo sollte sie denn erscheinen (und warum)?

Schauen Sie sich Ihr Programm noch einmal an und gehen es, Zeile für Zeile durch. (Die SAY-Ausgabe im Hauptprogramm wird erst dann erfolgen, wenn der Ausdruck vollständig abgearbeitet wurde, d.h. erst nachdem z.B. increaseSalary gefolgt von salary gelaufen ist.)

 

 

*** Aufgabe 2: ***

tmpColl = .stream ~new("meininput.txt")~~open
SAY "a" tmpColl~class~id":"
DO i OVER tmpColl
SAY "["i"]"
END
tmpColl~close

 

Output:
a Stream:

Process finished with exit code 0

Frage: Wo soll mein input.txt gespeichert sein (Pfad), damit es im Output wiedergegeben wird?

Fügen Sie ein "say tmpColl~qualify" ein und Sie sehen den Pfad, studieren Sie dazu die Methoden in rexxref.pdf, die die Streamklasse besitzt!

Sie könnten auch "say directory()" schreiben und würden den Pfad zum Verzeichnis sehen, in dem das Rexxprogramm ausgeführt wird und wo die Datei gespeichert werden würde, nachdem kein Pfad by ".stream~new(...)" angegeben wurde.

 

 

*** Aufgabe 3: ***

shoppinglist = .list~of("orange", "banana", "apple", "almonds", "kiwi")
shoppinglistArray = shoppinglist~makeArray-- make array
say "This is my shopping list:"
say shoppinglistArray
shoppinglistArray = shoppinglist~makeArray~sort-- make & sort array
say "This is my shopping list nicely ordered:" shoppinglistArray
shoppinglistStream = .Stream~new("myoutput.txt")~~open("replace")
shoppinglistStream~ArrayOut(shoppinglistArray)
shoppinglistStream~close

 

Output:
This is my shopping list:
orange
banana
apple
almonds
kiwi
This is my shopping list nicely ordered: almonds
apple
banana
kiwi
orange

 

Process finished with exit code 0

 

Frage: wo soll das myoutput.txt dann zu finden sein (Pfad)?

Siehe oben.

Mit freundlichem Gruß

Rony G. Flatscher

-- 
--
__________________________________________________________________________________
 
Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe
 
http://www.wu.ac.at
__________________________________________________________________________________