Rolfi: Wie nennt man die Anführungszeichen in Methoden

ola,

Ich habe gesucht, aber nichts finden können in den Tutorials. Alle überspringen es kommentarlos. Die Selfhtml Doku, Teia Lehrbuch, andere Onlinequellen - oder ich habe es mit meinen Augen übersprungen.

Gemeint sind diese Anführungszeichen etwa:
alert("Test");
write('Test');

Delimiter kann man die ja nicht nennen lt. der Definition die ich gelesen habe. Auf jeden Fall ist es ein Anfang und ein Ende. Es sind ja keine normalen Anführungszeichen, sondern die fangen ja ein was dazwischen steht. Ich hatte es auch immernur so übernommen. Ich wusste das ich das oder das nutzen kann, aber nicht beides um das was dazwischen steht, einzufangen.

Jemand eine Idee?

mfg,
Rolfi

  1. Om nah hoo pez nyeetz, Rolfi!

    Gemeint sind diese Anführungszeichen etwa:
    alert("Test");
    write('Test');

    Delimiter kann man die ja nicht nennen lt. der Definition die ich gelesen habe.

    Naja, doch. Sie begrenzen eine Zeichenkette.

    Matthias

    --
    Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Gut und Guttenberg.

  2. Hallo,

    Gemeint sind diese Anführungszeichen etwa:
    alert("Test");
    write('Test');

    Delimiter kann man die ja nicht nennen lt. der Definition die ich gelesen habe.

    warum nicht? Selbstverständlich sind es Delimiter, auch wenn der Ausdruck in diesem Fall selten benutzt wird. Ansonsten nennt man sie einfach nur Anführungszeichen, im Englischen auch quotes oder quotation marks.

    Es sind ja keine normalen Anführungszeichen, sondern die fangen ja ein was dazwischen steht.

    Natürlich sind es normale Anführungszeichen. Sie beginnen bzw. beenden eine Stringkonstante. Javascript hat außerdem die ungewöhnliche Eigenart, dass einfache und doppelte Anführungszeichen (single and double quotes) dieselbe Bedeutung haben und wahlweise die eine oder die andere Variante verwendet werden kann. In anderen mir bekannten Sprachen besteht zwischen den beiden ein Bedeutungsunterschied.

    Ich wusste das ich das oder das nutzen kann, aber nicht beides um das was dazwischen steht, einzufangen.

    Was meinst du mit "einfangen"?

    Ciao,
     Martin

    --
    Schildkröten können mehr über den Weg berichten als Hasen.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Tach!

      Natürlich sind es normale Anführungszeichen. Sie beginnen bzw. beenden eine Stringkonstante.

      Ein String-Literal genauer gesagt. Eine Konstante ist es erst, wenn solch in Literal (oder auch ein vorher zu berechnender Ausdruck) einem Namen zugewiesen wird, der die Konstante repräsentiert.

      dedlfix.

      1. Hallo,

        Natürlich sind es normale Anführungszeichen. Sie beginnen bzw. beenden eine Stringkonstante.
        Ein String-Literal genauer gesagt.

        so kann man es auch nennen.

        Eine Konstante ist es erst, wenn solch in Literal (oder auch ein vorher zu berechnender Ausdruck) einem Namen zugewiesen wird, der die Konstante repräsentiert.

        Das habe ich anders gelernt. Was du meinst, kenne ich zumindest aus dem Dunstkreis von C als benannte Konstante. Als Konstante allgemein bezeichnet man nach meiner Kenntnis alles, was als fester Ausdruck im Quellcode steht. So ist beispielsweise im folgenden Codeauszug

        setTimeout(DoSomething, 500);

        auch die Zahl 500 eine Konstante. Darüber hinaus gibt es noch konstante Ausdrücke, die zwar scheinbar berechnete Werte sind, aber keine variablen Anteile haben, so dass der Wert des Ausdrucks immer gleich ist. Manche Compiler erkennen das und setzen dann gleich den konstanten Wert ein, anstatt den ganzen Ausdruck zu codieren.

        #define BLOCKSIZE  128  
        char *m = malloc(BLOCKSIZE * 60);
        

        Hier würde ein optimierender Compiler, wie ich ihn meine, sofort den konstanten Wert 7680 als Argument für den Aufruf von malloc() einsetzen, die Multiplikation der beiden Konstanten 128 und 60 also schon beim Compilieren durchführen und nicht Code erzeugen, der diese Multiplikation durchführt.

        So long,
         Martin

        --
        Wenn Zeit das Kostbarste ist, was wir haben, dann ist Zeitverschwendung die größte aller Verschwendungen.
          (Benjamin Franklin, amerikanischer Tüftler und Politiker)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Tach!

          Eine Konstante ist es erst, wenn solch in Literal (oder auch ein vorher zu berechnender Ausdruck) einem Namen zugewiesen wird, der die Konstante repräsentiert.
          Das habe ich anders gelernt. Was du meinst, kenne ich zumindest aus dem Dunstkreis von C als benannte Konstante. Als Konstante allgemein bezeichnet man nach meiner Kenntnis alles, was als fester Ausdruck im Quellcode steht.

          Hmm, da gibt dir sogar die Wikipedia recht. Und Macros in C machen die Sache noch schlimmer. Im Quelltext ist es etwas benanntes, nach dem Preprozessordurchlauf sind es viele einzelne Werte. Bei einer echten Konstante wäre das jedes Mal nur der Verweis auf eine ganz bestimmte Stelle im Speicher, an der der Wert liegt.

          dedlfix.

          1. Hallo,

            Als Konstante allgemein bezeichnet man nach meiner Kenntnis alles, was als fester Ausdruck im Quellcode steht.
            Hmm, da gibt dir sogar die Wikipedia recht. Und Macros in C machen die Sache noch schlimmer. Im Quelltext ist es etwas benanntes, nach dem Preprozessordurchlauf sind es viele einzelne Werte. Bei einer echten Konstante wäre das jedes Mal nur der Verweis auf eine ganz bestimmte Stelle im Speicher, an der der Wert liegt.

            oder auch ein direkt im Code eingesetzter Wert, etwa bei numerischen Konstanten. Noch absurder wird es bei "konstanten Variablen", beispielsweise const-Deklarationen in C++. Zur Laufzeit wird's wie eine Variable mit einem im Arbeitsspeicher abgelegten aktuellen Wert behandelt, aber der Compiler achtet darauf, dass -von der Initialisierung abgesehen- nirgends eine Zuweisung an diese Variable gemacht wird.

            In C nutze ich übrigens gern enum-Typen, um damit quasi Konstanten zu definieren. Vorteil gegenüber Präprozessor-Macros: Die Bezeichner werden als Debug-Informationen in der Symboltabelle gespeichert, und der Debugger kann mir beispielsweise Statuswerte im Klartext anzeigen - also beispielsweise XY_WAITING anstatt dem wenig aussagekräftigen Zahlenwert 11 (willkürlich gewählte Werte).

            Ciao,
             Martin

            --
            In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
              (Dieter Nuhr, deutscher Kabarettist)
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. Tach!

    Gemeint sind diese Anführungszeichen etwa:
    alert("Test");
    write('Test');
    Delimiter kann man die ja nicht nennen lt. der Definition die ich gelesen habe. Auf jeden Fall ist es ein Anfang und ein Ende.

    String-Begrenzungszeichen auf gut deutsch. Quotieren nennt man den Vorgang auch. Enclosure ist auch ein gebräuchlicher Begriff.

    Delimiter sind Trennzeichen zwischen Werten.

    Es sind ja keine normalen Anführungszeichen, sondern die fangen ja ein was dazwischen steht.

    Es sind Syntax-Elemente genauso wie die Klammern um Funktionsparameter oder Semikolons zum Trennen von Anweisungen.

    dedlfix.

  4. ola,

    Danke an euch alle drei. Ich wusste es einfach nicht zu benennen. Delimiter ist etwas fremd für mich da anzuwenden, da ich es eher aus Regex kenne, denn:

    write("Delimiter"giu) würde zu einem Fehler führen, wärend match(@Delimiter@giu,...) das nicht tut. Für mich persönlich war das Wort auch nur in diesem Zusammenhang gebräuchlich. Aber ich lese mir nochmal ein paar Definitionen durch.

    mfg,
    Rolfi

    1. Hi,

      Danke an euch alle drei. Ich wusste es einfach nicht zu benennen. Delimiter ist etwas fremd für mich da anzuwenden, da ich es eher aus Regex kenne

      da wird der Ausdruck vielleicht am häufigsten verwendet. Aber ein Delimiter ist allgemein gesprochen, wie dedlfix schon sagte, ein Trennzeichen oder auch ein Begrenzungszeichen. Die Anführungszeichen sind diejenigen Zeichen, die den String begrenzen, also ist der Begriff Delimiter IMO in Ordnung.

      Ciao,
       Martin

      --
      Der Dienstweg ist die Abkürzung vom Holzweg zur Sackgasse.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    2. Tach!

      Delimiter ist etwas fremd für mich da anzuwenden, da ich es eher aus Regex kenne, denn:

      write("Delimiter"giu) würde zu einem Fehler führen, wärend match(@Delimiter@giu,...) das nicht tut. Für mich persönlich war das Wort auch nur in diesem Zusammenhang gebräuchlich. Aber ich lese mir nochmal ein paar Definitionen durch.

      So einfach ist meine Definition "Delimiter sind Trennzeichen zwischen Werten." in der Wirklichkeit wohl doch nicht. Da werden die Begriffe auch gern mal anders verwendet. Dein Beispiel brachte mich auf die Idee, nicht nur bei PHPs fgetcsv() nachzuschauen, sondern auch noch bei den Regexen.

      array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\' ]]]] )

      Bei fgetcsv() ist der Delimiter der Trenner zwischen den Werten. Bei den Regexen werden die Begrenzer um den Ausdruck so bezeichnet: When using the PCRE functions, it is required that the pattern is enclosed by delimiters.

      dedlfix.

      1. Moin,

        So einfach ist meine Definition "Delimiter sind Trennzeichen zwischen Werten." in der Wirklichkeit wohl doch nicht.

        Och ich finde das gar nicht so schlecht. Delimeter begrenzen (also wenigstens zwei, der Bereich von ... bis), Separatoren trennen.

  5. Gemeint sind diese Anführungszeichen etwa:
    alert("Test");
    write('Test');

    Delimiter kann man die ja nicht nennen lt. der Definition die ich gelesen habe.

    Ja, das stimmt. Im Beispiel nach Perl6-Syntax
        foo("bar", 'qu ux', 42, <x y z>, Qc「{ 23+42 })
    ist das *Komma* der Separator (engl. delimiter), die anderen umschließenden Zeichen heißen Anführungszeichen (engl. quotes) in Anlehnung an die in der Typografie verwendeten Zeichen. Die Funktion („anführen“, engl. quote) ist dem vertrauten Zitieren ähnlich: das syntaktische Überführen von Quellcode aus dem Kontext als Literal(-wert) oder Bareword in den Kontext als z.B. String.