Tekstitiedostossa olevien sanojen ja kirjainten määrä

Anonyymi

Millähän ohjelmointikielellä saisi toteutettua vähimmällä vaivalla? Pitäisi ynnätä siis sanojen ja aasta ööhön olevien merkkien määrä, ja sitten tulostaa luvut.

Käyttö olisi siis näin: "ohjelma tekstitiedosto.txt".

42

1723

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Haluatko siis kirjainten a-ö yhteissumman, vai erikseen montako a:ta, montako b:ta, jne ...

      Joka tapauksessa ensiksi tarvitsee tietää mitä merkistöä tiedosto käyttää (todennäköisesti UTF-8 nykyään). Sitten pitäisi olla melko helppo millä tahansa ohjelmointikielellä joka tukee kyseistä merkistöä (esim. UTF-8).

    • Anonyymi

      Jahans. Hidas bash-skriptini oli ylläpidolle liikaa ja se poistettiin. En jaksa toista kertaa selittää miten toimii, mutta tuossa on pastebin-linkki, jos joku haluaa vilkaista ratkaisutapaa. On siis h...i....i....d....a....s..

      https://pastebin.com/PYvG5Cf6

      • Anonyymi

        Hieno ohjelma ja nopeakin, mutta tarkista vielä sanojen osilta tuon antamaa palautetta.


      • Anonyymi
        Anonyymi kirjoitti:

        Hieno ohjelma ja nopeakin, mutta tarkista vielä sanojen osilta tuon antamaa palautetta.

        Taisi jäädä jumiin sinun ohjelman kehittäminen. Minä tein itsekin sellaisen 27 rivisen, ja testasin isolla (reilut miljoona sanaa) tiedostolla ja kyllähän tuohon tuota aikaa meni:

        Sanoja: 1 151 197
        Merkkejä: 13 220 719

        real 0m20,638s
        user 0m18,048s
        sys 0m2,575s

        Ei Bash Shell niin kamalan nopea ole. Mutta kun Linuxin sanotaan olevan suomalaisen keksintö, herättää ihmetystä ettei sen komennot (wc) esimerkiksi ymmärrä ääkkösiä eikä öökkösiä, vaan niiden tilalle on keksittävä aina korviketta kuten tässä nyt kävi.


      • Anonyymi
        Anonyymi kirjoitti:

        Hieno ohjelma ja nopeakin, mutta tarkista vielä sanojen osilta tuon antamaa palautetta.

        Minä ensimmäiseen postaukseeni yritin selittää toimintalogiikkaa, mutta se meni bittitaivaaseen.

        Tuo skripti siis kyhää tekstitiedoston ensin vain "pötköön", eli poistaa ylimääräiset välilyönnit, sarkaimet ja rivinvaihdot sed-komennon avulla.

        Oletetaan, että jäljelle jääneet välilyönnit erottavat sanat toisistaan. Siitä seuraa, että jokainen havaittu välilyönti lisää sanojen määrää yhdellä.

        Jos löydetään välilyönnin sijaan "sallittu" merkki, niin sitten lisätään laskuria merkeille.

        Räpellys on testaamaton ja luultavasti logiikan suhteenkin kehno, mutta tuollainen tuli ensin tehtyä. Eihän tuo esimerkiksi viivalla erotettuja yhdyssanoja hallitse.


      • Anonyymi
        Anonyymi kirjoitti:

        Minä ensimmäiseen postaukseeni yritin selittää toimintalogiikkaa, mutta se meni bittitaivaaseen.

        Tuo skripti siis kyhää tekstitiedoston ensin vain "pötköön", eli poistaa ylimääräiset välilyönnit, sarkaimet ja rivinvaihdot sed-komennon avulla.

        Oletetaan, että jäljelle jääneet välilyönnit erottavat sanat toisistaan. Siitä seuraa, että jokainen havaittu välilyönti lisää sanojen määrää yhdellä.

        Jos löydetään välilyönnin sijaan "sallittu" merkki, niin sitten lisätään laskuria merkeille.

        Räpellys on testaamaton ja luultavasti logiikan suhteenkin kehno, mutta tuollainen tuli ensin tehtyä. Eihän tuo esimerkiksi viivalla erotettuja yhdyssanoja hallitse.

        Lokiikka on ihan sama kuin tuossa minu 27 rivisessä, mutta minä korvaan kaikki merkit rivinvaihdolla, ja poistan sitten tyhjät rivit.

        ELI SED Hoitaa päältä ensin tämän, ja loppu ei ole kuin rallatella:

        sed -i -e 's/\[/\n/g' "$TMP"
        sed -i -e 's/\]/\n/g' "$TMP"
        sed -i -e 's/"/\n/g' "$TMP"
        sed -i -e 's/\//\n/g' "$TMP"
        sed -i -e 's/´/\n/g' "$TMP"
        sed -i -e 's/`/\n/g' "$TMP"

        sed -i -e "s/[˛ =~!#̣ˇ–’£@|_; &{}¤%!1234567890().,:?*<>\'-]/\n/g" "$TMP"
        sed -i -r "/^\r?$/d" "$TMP"


      • Anonyymi
        Anonyymi kirjoitti:

        Lokiikka on ihan sama kuin tuossa minu 27 rivisessä, mutta minä korvaan kaikki merkit rivinvaihdolla, ja poistan sitten tyhjät rivit.

        ELI SED Hoitaa päältä ensin tämän, ja loppu ei ole kuin rallatella:

        sed -i -e 's/\[/\n/g' "$TMP"
        sed -i -e 's/\]/\n/g' "$TMP"
        sed -i -e 's/"/\n/g' "$TMP"
        sed -i -e 's/\//\n/g' "$TMP"
        sed -i -e 's/´/\n/g' "$TMP"
        sed -i -e 's/`/\n/g' "$TMP"

        sed -i -e "s/[˛ =~!#̣ˇ–’£@|_; &{}¤%!1234567890().,:?*<>\'-]/\n/g" "$TMP"
        sed -i -r "/^\r?$/d" "$TMP"

        Ei tuossa minullakaan harrasteta mitään oikolukua, joten yhdysviivan voisi hyvinkin poistaa tuosta SED luettelosta jolloin esimerkiksi S-market antaisi vain yhden sanan, nyt se tuolla listauksella tuottaa kaksi sanaa.

        Täytyypi minunkin tuo kohta korjata, hyvä että mainitsit tuon yhdysviivan käytön, ei tullut mieleen tehdessä.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei tuossa minullakaan harrasteta mitään oikolukua, joten yhdysviivan voisi hyvinkin poistaa tuosta SED luettelosta jolloin esimerkiksi S-market antaisi vain yhden sanan, nyt se tuolla listauksella tuottaa kaksi sanaa.

        Täytyypi minunkin tuo kohta korjata, hyvä että mainitsit tuon yhdysviivan käytön, ei tullut mieleen tehdessä.

        No niin, tein korjauksen ja nyt sanat väheni ja merkit kasvoi:
        Sanoja: 1151069
        Merkkejä: 13220852

        real 0m20,676s
        user 0m18,037s
        sys 0m2,623s


      • Anonyymi
        Anonyymi kirjoitti:

        No niin, tein korjauksen ja nyt sanat väheni ja merkit kasvoi:
        Sanoja: 1151069
        Merkkejä: 13220852

        real 0m20,676s
        user 0m18,037s
        sys 0m2,623s

        Hiukan jää tulkinnan varaa miten M.Meikäläinen pitäisi tulkita, yksi vai kaksi sanaa. Nyt menee kahtena. Ja jos yhdeksi haluaa merkata tuleekin oikein paha ongelma mukaan kuvioihin.

        tietysti voitaisiin katsoa ettei ole olemassakaan yhden merkin sanoja, mutta olisiko se sitten oikein. Tuo olisikin helppo muuttaa.


      • Anonyymi
        Anonyymi kirjoitti:

        Hiukan jää tulkinnan varaa miten M.Meikäläinen pitäisi tulkita, yksi vai kaksi sanaa. Nyt menee kahtena. Ja jos yhdeksi haluaa merkata tuleekin oikein paha ongelma mukaan kuvioihin.

        tietysti voitaisiin katsoa ettei ole olemassakaan yhden merkin sanoja, mutta olisiko se sitten oikein. Tuo olisikin helppo muuttaa.

        No jaa, LibreOffice Writerin oikoluku sanoi että S-Market kirjoitetaan oikein S-market ja M.Meikäläinen näin M. Meikäläinen


      • Anonyymi
        Anonyymi kirjoitti:

        No jaa, LibreOffice Writerin oikoluku sanoi että S-Market kirjoitetaan oikein S-market ja M.Meikäläinen näin M. Meikäläinen

        Taisit mennä ohjelmaa korjaamaan, no Öitä, menen nukkumaan.


      • Anonyymi
        Anonyymi kirjoitti:

        Minä ensimmäiseen postaukseeni yritin selittää toimintalogiikkaa, mutta se meni bittitaivaaseen.

        Tuo skripti siis kyhää tekstitiedoston ensin vain "pötköön", eli poistaa ylimääräiset välilyönnit, sarkaimet ja rivinvaihdot sed-komennon avulla.

        Oletetaan, että jäljelle jääneet välilyönnit erottavat sanat toisistaan. Siitä seuraa, että jokainen havaittu välilyönti lisää sanojen määrää yhdellä.

        Jos löydetään välilyönnin sijaan "sallittu" merkki, niin sitten lisätään laskuria merkeille.

        Räpellys on testaamaton ja luultavasti logiikan suhteenkin kehno, mutta tuollainen tuli ensin tehtyä. Eihän tuo esimerkiksi viivalla erotettuja yhdyssanoja hallitse.

        Ei väliviiva haittaa, koska sitä ei huomioida mitenkään. Vain välilyönnit erottavat sanat toisillaan. Esim:

        Hanna-tädin kilpa-auto on juna-asemalla.
        Sanoja: 4
        Kirjaimia: 33

        Pitääkin tehdä tänään joutoaikoina Python-versio aiheesta.


      • Anonyymi
        Anonyymi kirjoitti:

        No jaa, LibreOffice Writerin oikoluku sanoi että S-Market kirjoitetaan oikein S-market ja M.Meikäläinen näin M. Meikäläinen

        Oletko huomannut, että Libreoffice ilmoittaa alapalkissa sanojen ja kirjainten lukumäärän, kun haluttu alue, tai koko teksti on merkattu.


      • Anonyymi
        Anonyymi kirjoitti:

        Oletko huomannut, että Libreoffice ilmoittaa alapalkissa sanojen ja kirjainten lukumäärän, kun haluttu alue, tai koko teksti on merkattu.

        Hyvä, silloinhan sinä voitkin katsella sieltä etkä tarvitse siihen erityistyökaluja, kuten me muut.


    • Anonyymi

      Itse asiassa tämä avaus oli hyvin paikallaan, näin kaikki Linux komennoista kiinnostuneet huomaavat, ettei Linux tarjoa suoraa komentoa tämän selvittämiseen.

      Eikä merkkien määrää voi päätellä tiedoston koostakaan, sen enempää kuin tähän tarkoituksen järjestelmän oma wc- komentokaan. Kumpikin antaa sitä virheellisemän vastauksen mitä enemmän ääkköseiä ja öökkösiä on mukana.

    • Anonyymi

      Libre Office Writer näyttää alareunassa sanojen ja merkkien määrän :)

      • Anonyymi

        Saattaapi ollakkin, mutta kun yritin avata sillä tuon yli miljoonan rivin tiedoston, se kestää kestää ja kestää, lopulta suljin väkisin.


      • Anonyymi
        Anonyymi kirjoitti:

        Saattaapi ollakkin, mutta kun yritin avata sillä tuon yli miljoonan rivin tiedoston, se kestää kestää ja kestää, lopulta suljin väkisin.

        Geany ja muutkin tehokkaat muotoilemattoman tekstin muokkaajat kyllä laskevat sanat, mutta jos rivillä on vaikka yksinäinen pilkku (,) se laskevat senkin sanaksi, joten väärää tietoa on hyvin helposti saatavissa.


    • Anonyymi

      Aika vaivalloisia nämä epämääräiset täysin määrittelemättömät optimointitehtävät. Kaikki vaihtoehdot on käytävä läpi ja sitten alkaa työläs vuosia kestävä eri vaihtoehtojen optimointivaihe. Ja jossakin vaiheessa pitä tietysti päättää, mitä tarkoitetaan vähimmällä vaivalla? Miten pisteytetään?

      Erilaisia tekstitiedostoja on maailmalla sadoittain ja niissä toinen toistaan ihmeellisempiä merkkejä. Mukana usein matemaattisia lausekkeita, numeroita ja kirjainten ja numeroiden yhdistelmiä. Ovatko sanoja? Saksasta ja Norjasta löytyy hyviä testitiedostoja. Kun saat kaikki Euroopan valtioiden tekstitiedostot toimimaan, niin siirrry Aasiaan ja Afrikkaan. Erilaiset yleisimmät vaihtoehdot löydät helposti tietokoneesi kieliasetuksista. Tekstitiedostoissa on usein erilasia virheitä. Samoin niissä lukematomissa optimoiduissa testiohjelmistoissasi. Mieti mitä korjaat vähimmällä vaivalla? Ja miten?

    • Anonyymi

      Python-versio nyt tehty: https://pastebin.com/kLisp2N7

      Tuossa luetaan rivi kerrallaan tiedostoa, ja ensin korvataan mahdolliset tabulaattorit välilyönneillä, otetaan rivinvaihto lopusta pois ja jaetaan rivi välilyöntien kohdilta taulukoksi.

      Sitten lisätään edelliseltä riviltä mahdollisesti jäänyt tavu tai yhdyssanan osa ensimmäiseen. Oletuksensa lisätään vain tyhjää "", mutta jos edellinen rivi on päättynyt viivaan, niin silloin se osuus.

      Sitten jokainen sana siivotaan huuto-, heitto- ja kysymysmerkeistä, pilkuista, kaksoispisteistä, viivoista ynnä vastaavista, ja testataan onko jäljelle jääneet merkit kaikki kirjaimia isalpha()-metodilla. Jos on, niin lisätään laskureihin sana.

      Tuo isalpha() on siitä mukava, että se ymmärtää myös erikoisemmat kirjaimet. Testasin saamen kielen kirjaimia sisältävällä pätkällä.

      --
      Buorre iđit! Huomenta!

      Gaskavahkku 31. beaivi golggotmánu 2021, tänään on 31. lokakuuta 2021.

      Loka–marraskuussa järjestettävät poroerotukset ovat yksi tärkeimmistä porotalouden tapahtumista. Niissä erotellaan teuraaksi menevät ja takaisin tunturiin pääsevät porot.
      --

      Yllä oleva teksti tuottaa tulokseksi:
      Sanoja: 26 Kirjaimia: 214

      --
      Kol-
      mivai-
      hekilo-
      wattitun-
      timittari ja vaa'ankieli.
      --

      Tuo puolestaan:
      Sanoja: 3 Kirjaimia: 43

      • Anonyymi

        Lainausmerkit oli näköjään unohtunut pois sanan siivoilusta. Filtteriksi kannattaa laittaa siihen re.split()-metodiin:

        r"!|\?|–|-|,|'|:|;|\.|\""


      • Anonyymi

        Täytyy ladata tuo sinun versio, ja koittaa selvittää miksi minulla tulee kirjaimia yksi enemmän.
        Sanoja: 26
        Merkkejä: 215

        Huomion arvoista on että LibreOffice Writer tilastoi seuraavat määrät kutakin
        Sanoja: 33
        Merkkejä: 266

        LibreOffice Writer taitaa pitää sanoina välilyöntejä ja rivin vaihtojakin, joka tapauksessa päin persettä, ei mitään uskomista, joka tarkoittaa sitä että tämä Word_Count ohjelma, joita nyt rustaamme, on entistäkin tarpeellisempi. Täytyyhän tässä maailmassa olla ainakin yksi luotettava sanojen ja merkkien laskija ettei sitä tarvitse käsin tehdä.


      • Anonyymi

        Selvisi syy, ja se on yhdysviiva (–) joka esiintyy sanassa "Loka–marraskuussa". Sinun sanalistassa tuo sana esiintyy näin:

        Lokamarraskuussa
        ja minulla näin
        Loka–marraskuussa

        Nyt kun sinulla tuo merkkien laskenta tapahtuu puretuista sanoista niin yhdysviiva ei ole laskuissa mukana, ja siksi tässä esimerkissä on sinulla yksi merkki vähemmän.


      • Anonyymi

        Helppohan tuo on korjata, kun rivillä 23, poistaa luettelosta sen yhdysviivan.


      • Anonyymi
        Anonyymi kirjoitti:

        Selvisi syy, ja se on yhdysviiva (–) joka esiintyy sanassa "Loka–marraskuussa". Sinun sanalistassa tuo sana esiintyy näin:

        Lokamarraskuussa
        ja minulla näin
        Loka–marraskuussa

        Nyt kun sinulla tuo merkkien laskenta tapahtuu puretuista sanoista niin yhdysviiva ei ole laskuissa mukana, ja siksi tässä esimerkissä on sinulla yksi merkki vähemmän.

        Joo, tuo on tulkinnanvarainen asia, että olisko se kuitenkin kaksi sanaa. Tuossa kohdassa sen vaan laitoin filtteriin, koska isalpha()-metodi palauttaa silloin falsen. Yksi vaihtoehto olisi splitata tietysti yhdysviivalliset kahdeksi sanaksi ennen isalpha()-metodia.

        Libre varmaan tulkitsee luvutkin sanoina. Tuossa minun versiossa on hylätty numeroita luvut kokonaan. Nekin saisi mukaan todennäköisesti aika helposti isnumeric()-metodilla. Tarkastettaisiin vaan, että onko merkkijonossa vain pelkästään kirjaimia tai numeroita. Tarvittaessa voitaisiin laskea vielä luvut erikseen.


      • Anonyymi
        Anonyymi kirjoitti:

        Joo, tuo on tulkinnanvarainen asia, että olisko se kuitenkin kaksi sanaa. Tuossa kohdassa sen vaan laitoin filtteriin, koska isalpha()-metodi palauttaa silloin falsen. Yksi vaihtoehto olisi splitata tietysti yhdysviivalliset kahdeksi sanaksi ennen isalpha()-metodia.

        Libre varmaan tulkitsee luvutkin sanoina. Tuossa minun versiossa on hylätty numeroita luvut kokonaan. Nekin saisi mukaan todennäköisesti aika helposti isnumeric()-metodilla. Tarkastettaisiin vaan, että onko merkkijonossa vain pelkästään kirjaimia tai numeroita. Tarvittaessa voitaisiin laskea vielä luvut erikseen.

        Niin tosiaankin, numerot kyllä tulisi huomioida ainakin merkkeinä, nythän ne jää ulkopuolelle, vai pitäisikö ne ottaa mukaan vasta valitsimella -n --num, no, joo, menee väkisin jossitteluksi mitä pitäisi tehdä.


      • Anonyymi
        Anonyymi kirjoitti:

        Niin tosiaankin, numerot kyllä tulisi huomioida ainakin merkkeinä, nythän ne jää ulkopuolelle, vai pitäisikö ne ottaa mukaan vasta valitsimella -n --num, no, joo, menee väkisin jossitteluksi mitä pitäisi tehdä.

        No niin, laitoin tuon nyt niin että oletusarvoisesti numerot huomioidaan, ja valitsimella -n numerot jätetään huomioimatta.

        Usage:
        >>> wc.sh -n "./t.txt"
        Sanoja: 26
        Merkkejä: 215

        Eli, tuo ottaa nyt järjestelmän alkuperäisen wc -komennon paikan. Tuon mahdollisuuden lisääminen oli niin pieni toimenpide etten vielä siirtynyt Python koodia vääntämään.

        Sen verran tuota jatkoa ajatellen, pistin samalla tekemään sanalistan RAMDISK:lle, jos sellainen on käytössä.


    • Anonyymi

      Pitäisikö meidän laajentaa tuota ohjelman antamaa informaatiota. Voitaisiin ottaa mukaan valitsin -a --all, jolloin saataisiin tietoa

      - Käytetyt kirjaimet
      - ei käytetyt kirjaimet
      - kunkin sanan esiintymiskerrat tai top 10 käytetyintä sanaa

      Tuo laajentaminen pakottaa minutkin käyttämään Pythonia, koska Bash Shell on liian hidas, noin 10 kertaa pitempään menee tuolla minun koodilla käsitellä sitä miljoonan rivin tiedostoa kuin sinun Python koodillasi tehtynä.

      Python
      real 0m2,748s
      user 0m2,738s
      sys 0m0,007s

      Bash shell
      real 0m20,943s
      user 0m18,335s
      sys 0m2,593s

      • Anonyymi

        Oikeastaan tuo Top 10, voisikin olla erillinen valitsin vaikka -t --top, jolloin jätettäisin käyttäjän määriteltäväksi kuinka monta käytetyintä sanaa listataan, ja a olisikin -c --cahr

        word_count -c -t18 esimerkki.txt

        Jolloin informaatio sisältäisi
        - käytetyt kirjaimet
        - ei käytetyt kirjaimet
        - 18 käytetyintä sanaa esiintymiskertoinen

        No mietitään riittääkö intoa.


    • Anonyymi

      Kyse oli vähimmästä vaivasta, ei ikuisista korjailuista ja selittelyistä ja vaivan maksimoimisesta äärettömäksi.

      Jos ennen ohjelmoinnin alkamisa ei ole tehty mitään vaatimusmäärittelyä, niin homma kusee aina. Harvoin kukaan yksittäinen henkilö pystyy laatimaan näin hankalaan ja vaikeaan tehtävään asiallista ja toimivaa vaatimusmäärittelyä. Siihen tarvitaan useita eri alojen kokeneita asiantuntijoita ja muutama viikko aikaa. Ei ole helppoa.

      Ohjelmointikielen valinta on sitten helppo juttu. Samoin ohjelmointi. Testaukseen pitää varata muutama viikko aikaa ja kaikkein pahimmat ja ilkeimmät testaajat. Heillä pitää tietysti olla käytössään joku varmasti toimiva testiohjelmisto, jolla varmistetaan kaiken toimivan aina oikein. Ei varmasti toimi, joten ...

    • Anonyymi

      Tämä on kyllä aika hyvä esimerkkitapaus siitä, miten aluksi simppelin tuntuinen asia lähtee mutkistumaan kun sitä alkaa tarkemmin pohtimaan. Tärkeä asia softaprojekteissa on saada vaatimusmäärittely kohdalleen, varsinkin jos tehdään tilaustyötä asiakkaalle.

      Alkuperäinen vaatimusmäärittely on usein tuota luokkaa, että: Pitäisi ynnätä siis sanojen ja aasta ööhön olevien merkkien määrä, ja sitten tulostaa luvut. Helppo homma? Mutta sitten kun aletaan tekemään kunnollista vaatimusmäärittelyä, tulee mieleen monia pikku yksityiskohtia, jotka vaikuttavat työmäärään aika merkittävästi.

    • Anonyymi

      1. Muuta kaikki rivinvaihdot välilyönneiksi.
      2. Muuta kaikki kaksi peräkkäistä välilyöntiä yhdeksi välilyönniksi.
      3. Jos tiedoston ensimmäinen ensimmäinen ja/tai viimeinen merkki on välilyönti, poista se.
      4. Laske kaikkien erillisten merkkien lukumäärät.
      5. Sanojen lukumäärä on välilyöntien lukumäärä 1. Kirjaimien määrät löytyvät listasta. Muiden merkkien määristä ei tarvitse välittää.

      Jos tiedosto on iso, sen voi käsitellä rivi kerrallaan vaiheesta 2. eteenpäin. Pienillä tiedostoilla on tehokkaampaa hoitaa koko homma kerralla.

      Jos tiedoston rakenne on kuraa, eli esimerkiksi mukana on typerästi väärin kirjoitettuja sanoja, tyyliin ”s i l a k k a”, tai jos mukana on väärinkäytettyjä ranskalaisia viivoja (välilyönti viivan jälkeen), voit joutua rukkaamaan vaiheita 2. ja 3. sen mukaisesti. Universaalisti huonolla datalla toimivaa algoritmia ei ole mahdollista kirjoittaa, koska ihmiset kyllä keksivät mitä idioottimaisimpia tapoja kirjoittaa väärin.

    • Anonyymi

      Minne on hävinneet kaikki osaavat kirjoittelijat? Nykyään on vain roskaa.

      • Anonyymi

        Huonosti määriteltyyn tehtävänantoon on kovin vaikea antaa hyvää vastausta.


    • Anonyymi

      No mutta, sopiva tehtävä harjoitella Erlang:ia hieman, joten teinpä oman versioni tästä sitten sillä. En siis osaa kieltä vielä kunnolla - joku varmaan tekisi sen vähemmilläkin mutkilla:
      https://pastebin.com/uqz6qqWc
      Ja jos joku haluaa testata, käynnistä ensin erl-shelli ja käännä koodi komennolla 'c(laskenta).' Huomaa piste komennon lopussa, se pitää löytyä aina lopusta. Sitten voi testataa 'laskenta:lue_tiedosto("the_book.txt").'

      • Anonyymi

        Ahaa, pikainen vilkaisu herätti kiinnostuksen, täytyy tutustua tuohan paremmin. Joko itse olet löytänyt kielestä jotain, miksi sitä ei kannata opiskella sen paremmin.


      • Anonyymi
        Anonyymi kirjoitti:

        Ahaa, pikainen vilkaisu herätti kiinnostuksen, täytyy tutustua tuohan paremmin. Joko itse olet löytänyt kielestä jotain, miksi sitä ei kannata opiskella sen paremmin.

        Kiinnostus katosi alta 2 tunnin, en löytänyt mitään syytä opiskella tuota sen enempää.


      • Anonyymi

        Kerropa mikä sinua kiehtoo, tuossa Erlang kielessä.


      • Anonyymi
        Anonyymi kirjoitti:

        Kerropa mikä sinua kiehtoo, tuossa Erlang kielessä.

        No, siinä on mm. hajautus toteutettu hienosti. Samoin, voi ajaa ohjelmia toisella koneella yksinkertaisesti syntaksilla 'kone ! Msg' - tästä syystä mm. whatsApp on toteutettu sillä - luulisin.
        Lisämausteena, mikä oikeastaan kiinnitti huomioni, on binääri-formaatti muotoilu, ts. kieli tukee integroimista esim. C:n kanssa siten, että määritellään C:llä binäärisenä interface tiettyjen sääntöjen mukaan header-tiedostoissa ja tämän jälkeen generoidaan protokolla suoraan C-koodista Erlangiksi: C-koodiin ei tarvitse siis enää tunkea käyttöliittymää, vaan sen voi toteuttaa Erlang:lla. Näitä interfaceja muihin ohjelmiin kutsutaan porteiksi. Ja skriptien kanssa voi käyttää suoraan tupletteja. Tämän jälkeen hajautuksesta ei siis tarvitse huolehtia varsinaisesti itse vaan se on verkonhallinnan tehtävä - kunhan muistaa tehdä viestien lähetykset oikein heti alusta.


    • Anonyymi

      Loistava ketju, olisipa enemmän tällaisia.

      • Anonyymi

        Nyt olisikin hyvä aika aktivoitua jakamaan hyviksi havaittuja ohjeita, kun koneellinen sämppääminen pysäytetty.


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

    Luetuimmat keskustelut

    1. Maksetaanko Vornaselle palkkaa 2 viikon sairaslomasta

      Eli torstain kännistä 2 viikon palkallinen sairasloma? Saako muut duunarit myös rännätä 2 viikkoa työnantajan laskuun?
      Perussuomalaiset
      249
      2206
    2. Miksi tunnet vetoa..

      Miksi tunnet vetoa juuri häntä kohtaan? Mikä sen saa aikaan?
      Ikävä
      82
      1856
    3. Mitä te palstan ihanat naiset

      Ajattelette hyvin viisaista miehistä, jotka ovat koko ajan jotenkin oudosti väärässä? Vaikka älykkyysosamääräsi olisi 21
      Sinkut
      75
      1555
    4. Tapaus Vornanen

      Se oli torstai-ilta ja kansanedustaja Vornanen oli juhlimassa seurueensa kanssa pitkän edustusviikon jälkeen. Baarissa o
      Maailman menoa
      112
      1278
    5. Nainen, kohtelin sua kuin paskaa

      Ja silti odotin että annat kaiken anteeksi. Yllätyin kun niin ei käynytkään. Olethan kaikin puolin alle mun tason ja sun
      Ikävä
      64
      1170
    6. Nainen, seuraan sun uutta elämää

      Hieman naurattaa tuo sun uusi rooli 🤭. Kun et sovi siihen mitenkään. Mutta pakkohan sulla jokin paikka olla missä hämme
      Ikävä
      53
      1135
    7. Voi hitto Rinsessa säikähdin

      Että olitkin silloin joku huijari. Huh, sano ettet ole.
      Ikävä
      11
      1064
    8. Olet kaikki mitä ikinä tahdonkaan

      Voi sinä ihana Jarno olet just se ihminen keneen menin täysin ihastumaan. Kuin salama kirkkaalta taivaalta meidän koht
      Suhteet
      19
      1056
    9. Ilona Siekkinen

      Onko Ilona Siekkinen todellinen henkilö vai tekoälyllä luotu henkilö? Koostettu monesta eri kuvasta ja liitetty yhteen m
      Yhteiskunta
      1
      980
    10. AVARN Security ja julkisen toimeksiannon laiton henkilörekisteri

      Kyseessä ei ole VR:än ylläpitämä, vaan Avarnin laiton henkilörekisteri. https://www.is.fi/kotimaa/art-2000000482739.htm
      Turvallisuuspalvelut
      13
      891
    Aihe