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.
Miksei Javassa ole defineä?
14
2955
Vastaukset 14
- 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.
- Anonyymi
code_red kirjoitti:
Liittyy hyvinkin keskeisesti
Aivan yhtä paljon kun rintaliiviesi koko.
- 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.
- 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
Suomi meni ihan itse sössimään peruskoulunsa
Nyt syytellään maahanmuuttoa, vaikka ihan itse lopetettiin vaatimaan oppilailta koulunkäynnin tarkoitus eli opiskelu ja3021249Miksi vanhusraiskaajaa ei ole palautettu?
Ukkola kysyy Rantaselta, vaikka perussuomalaiset ovat olleet hallituksessa kolme ja puolivuotta. Rantasen vastaus on "3111211Tuli paha mieli miten kaikki meni meillä
Harmittaa myönnän sen, kun molemmilla oli selvästi toiveita ennen kuin sukset meni ristiin. Olen jäässä. 😔50968- 88941
- 106909
- 101889
- 111752
Katri Helena rikkoi hiljaisuuden dramaattisella uutisella: "Elossa ja ilossa ollaan"
Katri Helena on sinivalkoinen ääni. Hänen klassikkohittinsä ovat tärkeä osa suomalaista kansanperintöä. Katri veti jääh14628- 64588
Anni Ihamäki ja Ilkka-rakas vetivät tiukan rajan TTK:ssa: "Kyllä spekuloitiin"
Anni Ihamäki on naimissa Ilkka Ihamäen kanssa. Aviopuoliso tunnetaan myös nimellä Hovimuusikko Ilkka. Heillä on kaksi yh3587