Ankündigung

Einklappen
Keine Ankündigung bisher.

phpgolf :)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fab
    antwortet
    So spontan: Die äußeren Klammern beim echo kannst du weg-optimieren, wenn du den Zeilenumbruch am Ende nicht konkatenierst, sondern mit Komma anhängst:
    PHP-Code:
    <?for(;$i++<NUM;)echo($i%3?'':Fizz).($i%5?'':Buzz)?:$i,~õ;

    Einen Kommentar schreiben:


  • bwoebi
    antwortet
    FizzBuzz… 60 Zeichen krieg ich hin… 4 zu viel^^ (damit bin ich anscheinend 24. )

    Ganz ungewohnt explizit nicht auf Notices zu achten xD

    PHP-Code:
    <?for(;$i++<NUM;)echo(($i%3?'':Fizz).($i%5?'':Buzz)?:$i).~õ;
    kann man das noch optimieren?

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    Wenn durch das Invertieren ein Leerzeichen oder ein Anführungszeichen oder ein Pluszeichen in den String kommt, wertet PHP den entstehenden Code eben anders aus
    ja hatte grade genau deshalb einen Fehler

    Einen Kommentar schreiben:


  • mermshaus
    antwortet
    Das Invertieren? Das funktioniert nur bei Strings, die in der invertierten Fassung aus Zeichen bestehen, die für PHP keine syntaktische Bedeutung haben. Wenn durch das Invertieren ein Leerzeichen oder ein Anführungszeichen oder ein Pluszeichen in den String kommt, wertet PHP den entstehenden Code eben anders aus. Das kann durchaus sein, dass das mal für ein Zeichen gilt, von dem man das auf Anhieb nicht unbedingt erwarten würde. Keine Ahnung, Raute oder so.

    Bei der PHPGOLF-Challenge nutze ich das zum Beispiel aktuell nicht, weil mir invertiert immer Anführungszeichen (') generiert werden.

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    komisch, also bei funktioniert das einwandfrei...
    Beitrag editiert:
    EDIT: Seh grad, dass ich inzwischen 1001 Beiträge hab, hab die 1000 irgendwie vergessen, der war vorhin hier #81

    Einen Kommentar schreiben:


  • Asterixus
    antwortet
    Also bei mir funktioniert dieser Trick nicht mit den Sonderzeichen, trotz iso-8859-1

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    Hab inzwischen auch 36b bei uppercase. Danke für deinen Kopf, werd mal schauen ob mich das weiterbringt, schaut auf jedenfalls schonmal anders aus als meiner:
    PHP-Code:
    for($i=100;--$i;) 

    Einen Kommentar schreiben:


  • fab
    antwortet
    36 Bytes bei "Upper Case First", mir fehlt genau eins auf #1 - verdammt, da gab es doch wirklich noch einen Trick für das letzte Byte.

    Übrigens, maxorxy, das hier ist der Kopf meiner for-Schleife bei 99bottles:
    PHP-Code:
    for($y=$x=($i=99).~ߝ‹‹“šŒ.$c=~ߐ™ßšš;;) 
    Vielleicht bringt dich das auf neue Ideen

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    209 Bytes
    damit hast du mich wohl um meilen getoppt...

    Einen Kommentar schreiben:


  • fab
    antwortet
    An 99bottles habe ich mich auch mal wieder versucht, auf 209 Bytes bekomme ich das Skript runter aber dann stößt mein Ansatz langsam an seine Grenzen... gab es nicht noch einen Trick mit der Datei-Kodierung mit der man ein, zwei Bytes sparen konnte?

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    dann geh ins bett, würd ich vorschlagen...

    Einen Kommentar schreiben:


  • Asterixus
    antwortet
    Schau dir die Uhrzeit an, wann ich das letzte Script gepostet habe. Ich bin zu schwach, um dem zu widerstehen. Dementsprechend müde fühle ich mich gerade ^^

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    das macht mich nur nervös
    warum das denn?

    Einen Kommentar schreiben:


  • Asterixus
    antwortet
    Nein, ich höre damit auf, das macht mich nur nervös.

    Einen Kommentar schreiben:


  • maxorxy
    antwortet
    Okay, danke für deine Infos.
    Postincrement ist nicht etwas Magisches.

    $i++;
    entspricht dem: "$i; $i+= 1;"

    Dazwischen kommt nichts - und zwar nie.
    Hab da irgendwas offenbar mal falsch verstanden.
    Du kannst allerdings zwei Bytes dabei sparen, indem du das ">0" entfernst. PHP funktioniert nämlich wie C: Int != 0 -> true.
    Wusste ich nicht, also dass $i?'Wahr':'Falsch'; solange Wahr ausgibt bis $i 0 ist wusste ich schon, aber dass ich das in der Schleife weglassen kann wusst ich nicht. Danke für deinen Hinweis!
    Beitrag editiert:
    Seh grad, dass du es auch versucht mit den 99Bottles. Ich fürchte, du wirst mich ziemlich schnell eingeholt haben...

    Einen Kommentar schreiben:

Lädt...
X