Miksei Javassa ole defineä?

miksiiiiiiiiiiiiiiiiiii

Javasta kun puuttuu precompiler kokonaan niin miksei definen ja typedefin tilalle ole rakennettu mitään? Jos esimerkiksi pitää tulostaa paljon tekstiä niin
#define NEWLINE \n
lähdekoodin alussa olisi varsin kiva juttu! Muuten joutuu kutsumaan System.out.println aika moneen kertaan.

14

2954

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • limanuljaskalle

      Hohhoijaati. älä kuse ohjelmakoodeeille.
      kakissa on rajoteensa ja Tietyt tutvallisuus jutut.

    • koetapas esim. google hakua "c preprocessor hell" ja nauti!
      Sen jälkeen ehkä ymmärrät, miksi näitä ei otettu javaan mukaan..

      • Anonyymi

        Ei liity mitenkään avaukseen.


      • code_red
        Anonyymi kirjoitti:

        Ei liity mitenkään avaukseen.

        Liittyy hyvinkin keskeisesti


      • Anonyymi
        code_red kirjoitti:

        Liittyy hyvinkin keskeisesti

        Aivan yhtä paljon kun rintaliiviesi koko.


      • Anonyymi kirjoitti:

        Aivan yhtä paljon kun rintaliiviesi koko.

        Vau. Olet todella vitsikäs!


    • Anonyymi

      Copypastaamaninen on hyvin yksinkertaista.

    • Anonyymi

      Mielestäni \n on nopeampi kirjoittaa kuin huutaa NEWLINE.

      System.out.println:n saa taas nopeasti kirjoittamalla sout ja painamalla tabulaattoria.

      • Anonyymi

        En tiedä miten on nykyisin mutta joskus ennen \n (newline) ei toiminut Windowsissa jossa sen pitää olla \r (return) ja tuo ei taas toimi Linuxissa ja Macissa. Toisaalta nuo makrot luovat enemmän ongelmia kuin ratkovat niitä. Olen joskus niitä käyttänyt paljonkin C kielen kanssa ja lopputulema on se että koodi ei ole sellaisenaan uudelleenkäytettävissä muissa projekteissa. Makroja ei pitäisi käyttää siitä syystä ollenkaan vaan käyttää standardoitua kieltä aina ja poikkeuksetta. Itseasiassa jopa typedef on uskomattoman typerä idea juuri siksi että koodia ei voi sellaisenaan uudelleenkäyttää. Ainoan poikkeuksen luo tuollainen NEWLINE makro koska se käsittelee tulostettavaa tekstiä jota ei ole tarkoitus käyttää missään muualla uudestaan. Mutta ongelma on ratkaistavissa yhden ylimääräisen muuttujan avulla.


      • Anonyymi
        Anonyymi kirjoitti:

        En tiedä miten on nykyisin mutta joskus ennen \n (newline) ei toiminut Windowsissa jossa sen pitää olla \r (return) ja tuo ei taas toimi Linuxissa ja Macissa. Toisaalta nuo makrot luovat enemmän ongelmia kuin ratkovat niitä. Olen joskus niitä käyttänyt paljonkin C kielen kanssa ja lopputulema on se että koodi ei ole sellaisenaan uudelleenkäytettävissä muissa projekteissa. Makroja ei pitäisi käyttää siitä syystä ollenkaan vaan käyttää standardoitua kieltä aina ja poikkeuksetta. Itseasiassa jopa typedef on uskomattoman typerä idea juuri siksi että koodia ei voi sellaisenaan uudelleenkäyttää. Ainoan poikkeuksen luo tuollainen NEWLINE makro koska se käsittelee tulostettavaa tekstiä jota ei ole tarkoitus käyttää missään muualla uudestaan. Mutta ongelma on ratkaistavissa yhden ylimääräisen muuttujan avulla.

        Sehän riippuu siitä mitä haluaa. Tuo \r (carriage return) palauttaa kursorin rivin alkuun ja \n (line feed) siirtää kursorin alas, mutta *nix-järjestelmissä myös lisäksi palauttaa kursorin rivin alkuun. Yhdistelmä \r\n tekee Windowsissa molemmat. https://en.wikipedia.org/wiki/Newline


      • Anonyymi
        Anonyymi kirjoitti:

        En tiedä miten on nykyisin mutta joskus ennen \n (newline) ei toiminut Windowsissa jossa sen pitää olla \r (return) ja tuo ei taas toimi Linuxissa ja Macissa. Toisaalta nuo makrot luovat enemmän ongelmia kuin ratkovat niitä. Olen joskus niitä käyttänyt paljonkin C kielen kanssa ja lopputulema on se että koodi ei ole sellaisenaan uudelleenkäytettävissä muissa projekteissa. Makroja ei pitäisi käyttää siitä syystä ollenkaan vaan käyttää standardoitua kieltä aina ja poikkeuksetta. Itseasiassa jopa typedef on uskomattoman typerä idea juuri siksi että koodia ei voi sellaisenaan uudelleenkäyttää. Ainoan poikkeuksen luo tuollainen NEWLINE makro koska se käsittelee tulostettavaa tekstiä jota ei ole tarkoitus käyttää missään muualla uudestaan. Mutta ongelma on ratkaistavissa yhden ylimääräisen muuttujan avulla.

        Windowsissa käytetään \r\n.

        C# on java paremmin toteutettuna.


    • Anonyymi

      Voit aina kehitellä oman preprocessorisi joka parsettaa koodisi ja prosessoi #define direktiivillä olevat statementit. Prosessoitu lähdekoodi menee Java-kääntäjälle. Helppoa.

      • Ja aina voi kehittää oman ohjelmointikielen, jossa on preprosessori. Helppoa :)


      • Anonyymi
        code_red kirjoitti:

        Ja aina voi kehittää oman ohjelmointikielen, jossa on preprosessori. Helppoa :)

        Kuinka paljon ihmiset noin yleensä välttelevät seuraasi. Minua ainakin oksettaa teikäläinen siinä määrin että oli pakko kysyä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Taas puukotus yläristillä!

      Tänään taas puukotettu hengiltä ihminen Kuopiontien läheisyydessä yläristillä! Nyt näitä alkaa olla viikoittain!
      Pieksämäki
      59
      1728
    2. Olen päättänyt tappaa itseni tämän vuoden puolella

      Minulla ei ole oikeastaan mitään hävittävää. Elämäni on surkeaa ja tunnen ihmisten tuijotukset ja supinat. Ne nauravat r
      Ikävä
      139
      1435
    3. Mitä teillä grillataan juhannuksena? Anna oma vinkkisi grilliherkkuihin

      Kesä ja juhannus on grillailun kulta-aikaa. Mitä teillä grillataan juhannuksena? Anna oma vinkkisi grilliherkkuihin. Ka
      Grillaus
      70
      1241
    4. La Promesa sarjan ystäville iso pettymys - Yleltä lisäinfoa asiasta

      La Promesa suosikkisarjan kohtalosta on tullut tietoa. Tämä ei kyllä välttämättä ilahduta sarjan faneja. Lue lisää: htt
      Tv-sarjat
      10
      846
    5. Mä muuten kerroin puolisolle susta

      Nimeä mainitsematta....
      Ikävä
      64
      811
    6. Paljonko meidän ikäero on?

      Ois kiva tietää.
      Ikävä
      69
      701
    7. Nyt kun olen vähän huppelissa niin uskallan sanoa

      Mikä minua oikein närästää... Tiedän että meillä on ollut vaikeaa mutta miten kauan sulla on ollut toinen mies vai oliko
      Ikävä
      39
      541
    8. Mies onko sinulla

      Kaikki hyvin? 🌞 -nainen
      Ikävä
      38
      494
    9. Nainen onko kaikki

      Onko sinulla nainen kaikki hyvin? mies
      Ikävä
      45
      476
    10. Toivotetaanko toisillemme

      Juhannuksia vai ollaanko vihoissa
      Ikävä
      53
      456
    Aihe