Ergebnis 1 bis 20 von 255

Thema: while(true) {write();} - Der Programmierer-Spamthread #1

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Beispiel einer Recorddefinition. Code ist von http://www.3480-3590-data-conversion...layouts-1.html
    Code:
       01  MAILING-RECORD.
           05  COMPANY-NAME            PIC X(30).
           05  CONTACTS.
               10  PRESIDENT.
                   15  LAST-NAME       PIC X(15).
                   15  FIRST-NAME      PIC X(8).
               10  VP-MARKETING.
                   15  LAST-NAME       PIC X(15).
                   15  FIRST-NAME      PIC X(8).
               10  ALTERNATE-CONTACT.
                   15  TITLE           PIC X(10).
                   15  LAST-NAME       PIC X(15).
                   15  FIRST-NAME      PIC X(8).
           05  ADDRESS                 PIC X(15).
           05  CITY                    PIC X(15).
           05  STATE                   PIC XX.
           05  ZIP                     PIC 9(5).
    Die erste Zahl gibt den Level des Records an, gefolgt vom Recordnamen. PIC **** ist der Datentyp und die Länge. Im Grunde hast du damit schon deinen Baum. Du kannst damit nicht so viel machen wie in anderen Programmiersprachen aber rein vom Prinzip her ist die Definition des Baumes sehr einfach und übersichtlich.
    Wenn du jetzt den Record PRESIDENT hernimmst, dann hast du eine Variable die 23 Zeichen(15+8) lang ist und aus dem Last-Name und dem First-Name besteht. Du kannst entweder den String "MUELLER________MANN____" direkt mit einem Move in President schreiben und dann mit Last-Name oder First-Name auf die entsprechenden Stellen zugreifen, oder du schreibst beides extra in ihre jeweiligen Records hinein. Aber das war dann auch schon die ganze Magie. Mit Cobol kann man nicht die ganze genialität dieser Syntax geniesen.

  2. #2
    Das ist doch mit C(++) Unions doch praktisch genau so.
    Ich sehe da im Moment keinen wirklichen Unterschied. O_o

  3. #3
    unions sind mir neu. Wie würde das mit denen aussehen?

  4. #4
    Achso, das mit dem Ansprechen der Variablen war eher als Beispiel was man dann in COBOL damit anstellen kann gedacht. Was ich hauptsächlich vermisse ist die Möglichkeit, durch irgendwelche Node Objekte auf ähnlich übersichtliche Art und Weise einen Baum zu erstellen.
    Das ähnlichste was mir für Java einfallen würde wäre das hier:

    Code:
    public class Node(String name, Node... children);
    
    new Node("MAILING-RECORD",
       new Node("COMPANY-NAME",
          new Node("CONTACTS"),
             new Node("PRESIDENT",
                new Node("LAST-NAME"),
                new Node("FIRST-NAME")
             ),
             new Node("VP-MARKETING"
                new Node("LAST-NAME"),
                new Node("FIRST-NAME")
             )
          )
       )
    );
    Aber gut lesbar ist das nicht und wenn man nen Formatter vorgesetzt bekommt stehen die Chancen gut, dass der die eigene Formattierung über den Haufen wirft.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •