+ Antworten
Ergebnis 1 bis 11 von 11
  1. #1
    Schmied
    Registriert seit
    11.10.2008
    Beiträge
    491

    Standard [Tool] pri-nt() (Bindestrich wegdenken)

    Da das lua print in S6 ja keine Funktion mehr hat, habe ich es mir für meine Zwecke gekapert, heraus kam ein kleines Testwerkzeug, um zum Beispiel zu prüfen was für Werte eine Funktion zurückgibt.
    (Ausserdem ist es kürzer als Logic.DEBUG_AddNote und wird im Notepad++ farblich hervorgehoben)
    Code:
    function print(...)
        local arg = { ... }
        if #arg > 1 then 
            Logic.DEBUG_AddNote(#arg .. " values")
        end
        local String = arg[1]
        local t = type(String)
        String = (t == "table" and t .. " " .. #String)
                or (t == "function" and t)
                or (t == "nil" and t)
                or (t == "boolean" and (t .. (_String and " true" or " false")))
                or (tostring(String) and String)
                or "Type Unsupported"
        Logic.DEBUG_AddNote(String)
    end
    Anwendung: Man kann ALLES in beliebiger Anzahl übergeben.
    Also:
    print("text")
    --text

    print(14)
    --14

    print(Entities)
    --table 0 (0 weil Entities ein lexikalisches Table ist)

    print({1,3,6})
    --table 3 (3: Die Anzahl der Einträge bei nummernindizierten Tables)

    print(true)
    --boolean true

    print()
    --nil

    print(nil)
    --nil

    print(Logic.GetEntityPosition(Logic.GetStoreHouse( 1)))
    --2 values
    --(hier dann die x-Koordinate)

    Bei mehreren Rückgabewerten erhält man also darüber einen Hinweis, und auch wieviele es sind.

    Ich hoffe es gefällt euch

    Britta

  2. #2
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Ich habe den Titel des Themas repariert, sodass man nun richtig auf es zugreifen kann.

    Ich hoffe, dass Du mir nicht böse bist dafür, Britta

  3. #3
    Schmied
    Registriert seit
    11.10.2008
    Beiträge
    491

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Oh, gab es da Probleme? Ich hatte da nichts bemerkt, danke natürlich, Old McDonald

  4. #4
    Schwertkämpfer Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,437

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Ja, ich hatt mich schon gewundert, das die Seite so ganz anders aussah.
    Nun ist auch mir das klar geworden.
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  5. #5
    Schafszüchter Avatar von Netsurfer
    Registriert seit
    01.09.2005
    Ort
    Köln/ Cologne
    Beiträge
    1,121
    Blog Einträge
    10

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Ist mir jetzt erst aufgefallen, nachdem Marius die Funktion ins Wiki gestellt hat.

    Ich bin aber ganz entschieden dagegen, eine original Lua Funktion "zu kapern".

    Erstens könnte print in S6 durch einen Patch wieder zu einer Funktion gelangen, zweitens ist es für diejenigen, die auch sonst mit Lua arbeiten verwirrend, drittens ist es entgegen allen Konventionen, die man beim Programmieren so gewöhnt ist, viertens ...!

    Ich habe das auch auf der Seite im Wiki angemerkt, um meinen Einwand/ meine Bedenken zur Diskussion zu stellen. Vielleicht sehe ich das ja auch falsch oder es gibt Argumente, die dafür sprechen, es so zu machen?

    Ich lasse mich ja auch vom Gegenteil überzeugen (natürlich nur mit stichhaltigen Argumenten ).

    Gunther
    ___________________________


    ___________________________

  6. #6
    Schmied
    Registriert seit
    11.10.2008
    Beiträge
    491

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Zitat Zitat von Netsurfer Beitrag anzeigen
    Ist mir jetzt erst aufgefallen, nachdem Marius die Funktion ins Wiki gestellt hat.
    Du lässt nach
    Ich bin aber ganz entschieden dagegen, eine original Lua Funktion "zu kapern".
    Da bin ich dafür.
    Erstens könnte print in S6 durch einen Patch wieder zu einer Funktion gelangen,
    BB KÖNNTE für den nächsten Patch auch mindestens die Hälfte von Old McDonalds Vorschlägen umsetzen. Nein, ernsthaft, hälst du das auch nur ansatzweise für möglich?
    zweitens ist es für diejenigen, die auch sonst mit Lua arbeiten verwirrend,
    ...das print nicht funktioniert, richtig.
    drittens ist es entgegen allen Konventionen, die man beim Programmieren so gewöhnt ist,
    Ich bin konfessionslos
    viertens ...!
    Du hast ja völlig recht. Ich hatte auch Bedenken es zu veröffentlichen, aber es macht sich halt wirklich gut im Einsatz. Gerade auch die farbliche Markierung in Notepad++
    Ich habe das auch auf der Seite im Wiki angemerkt, um meinen Einwand/ meine Bedenken zur Diskussion zu stellen.
    Das ist ja auch in Ordnung
    Vielleicht sehe ich das ja auch falsch oder es gibt Argumente, die dafür sprechen, es so zu machen?
    von meiner Seite aus keine weiteren ausser denen die im ersten Post gleich zu Anfang stehen.
    Ich lasse mich ja auch vom Gegenteil überzeugen
    Allerdings nicht oft
    (natürlich nur mit stichhaltigen Argumenten ).
    Selbst dann nicht
    Gunther
    Britta

  7. #7
    Schafszüchter Avatar von Netsurfer
    Registriert seit
    01.09.2005
    Ort
    Köln/ Cologne
    Beiträge
    1,121
    Blog Einträge
    10

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Du kannst das halten wie du willst.
    Allerdings finde ich es zumindest ein wenig kontraproduktiv, wenn man Script-Anfängern und -einsteigern hier gewisse Grundsätze vermitteln will, und sich dann selber nicht daran hält (in Veröffentlichungen).

    Und wenn ich das richtig verstanden habe, dann ist dein einziges Argument dafür, das der farblichen Markierung in Notepad++.
    ___________________________


    ___________________________

  8. #8
    Schmied
    Registriert seit
    11.10.2008
    Beiträge
    491

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Zitat Zitat von Netsurfer Beitrag anzeigen
    Und wenn ich das richtig verstanden habe, dann ist dein einziges Argument dafür, das der farblichen Markierung in Notepad++.
    Dafür es schlussendlich print() zu nennen, ja. Von mir aus kann dass auch output oder drucken oder println heissen.
    (Ich wills trotzdem farblich markiert haben, dass kann man doch im Notepad++, oder? Meine da mal was gelesen zu haben dass man die Kontrollwörter dort selbst einstellen kann)

  9. #9
    Schafszüchter Avatar von Netsurfer
    Registriert seit
    01.09.2005
    Ort
    Köln/ Cologne
    Beiträge
    1,121
    Blog Einträge
    10

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Zitat Zitat von BVernheim Beitrag anzeigen
    Dafür es schlussendlich print() zu nennen, ja.
    Schwaches Argument (weil man sich mit dem Werkzeug nicht auskennt mit dem man arbeitet, verunstaltet man also dann das Werkstück? )

    Von mir aus kann dass auch output oder drucken oder println heissen.
    (Ich wills trotzdem farblich markiert haben, dass kann man doch im Notepad++, oder? Meine da mal was gelesen zu haben dass man die Kontrollwörter dort selbst einstellen kann)
    Siehe .:: NOTEPAD++ ::. => Benutzerdefinierte Syntax-Hervorhebung

    Viel Spaß beim Erstellen!

    Aber warum so kompliziert - man kann auch die Suchen Funktion dafür benutzen mit der Option "Lesezeichen setzen" und dann "Alle suchen". Anschließend kann man ganz bequem rauf und runter zu jedem Vorkommen des gewünschten Begriffs/ Namens springen.

    Oder einfach nur ein Vorkommen des Begriffs durch Doppelklick markieren - schwupps sind alle anderen Vorkommen auch hervorgehoben (die Farben dafür kann man einstellen).

    Oder, oder, oder ... (es gibt zig Möglichkeiten)!

    Also dafür die ganzen anderen Nachteile in Kauf zu nehmen, ist nach meinem Dafürhalten nicht gerechtfertigt.
    ___________________________


    ___________________________

  10. #10
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Normalerweise sollte ein neues print() die gleiche Semantik haben wie das Original-Lua-print() haben. Das sähe so aus:
    Code:
    function print(...)
        local arg =  { ... }
        for i = 1, select("#", ...) do
            arg[i] = tostring(arg[i])
        end
        Logic.DEBUG_AddNote(table.concat(arg, "    ") .. '\n');
    end

  11. #11
    Bäcker Avatar von Marius94
    Registriert seit
    30.07.2008
    Beiträge
    662

    Standard AW: [Tool] pri-nt() (Bindestrich wegdenken)

    Zitat Zitat von Netsurfer Beitrag anzeigen

    Siehe .:: NOTEPAD++ ::. => Benutzerdefinierte Syntax-Hervorhebung

    Viel Spaß beim Erstellen!
    Tsis Tsis Tsis wieso gleich eine neue Programmiersprache erstellen, und alle einstellungen aus lua zu übernemen? Man kann doch über folgendes menü viel einstellen:
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken [Tool] pri-nt() (Bindestrich wegdenken)-stile.jpg  
    http://www.mariusscholz.de - Immer einen Besuch wert



LinkBacks (?)

  1. Hits: 16
    18.04.2009, 21:40

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. [Tool] Eine Spur legen
    Von BVernheim im Forum S6 Scriptecke
    Antworten: 0
    Letzter Beitrag: 13.12.2008, 11:35
  2. [Tool] LookAt für AeK
    Von BVernheim im Forum S6 Scriptecke
    Antworten: 0
    Letzter Beitrag: 10.12.2008, 09:33
  3. [Tool] zufällige Händler (Random merchants)
    Von BVernheim im Forum S6 Scriptecke
    Antworten: 0
    Letzter Beitrag: 24.11.2008, 16:12
  4. Antworten: 0
    Letzter Beitrag: 01.07.2008, 22:30
  5. mp3-tool
    Von Robert im Forum S6 Scriptecke
    Antworten: 0
    Letzter Beitrag: 15.02.2008, 14:39

Stichworte

Berechtigungen

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