2002
|
|
erregela multzoak edota lexiko sistemak automata bihurtzen dituzten konpiladoreak batetik, eta hitzen analisi/ sorkuntza morfologikoa egiten duten programa eta errutina multzoa bestetik. Programa nagusia edukitzea interesgarriagoa da probak egiteko, baina errutina multzoa (run time library izenarekin ezagutzen dena) askoz malguagoa da, halako liburutegi batek
|
gure
programetan morfologia integratzea bideratzen baitu.
|
2008
|
|
|
Gure
programa konpilatzeaz gain, exekutagarriak izan behar duten katalogoak jartzea izango da instalazioa egitea. Horrez gain, desinstalazioa ere prestatu nahi dugu.
|
2009
|
|
(?) kuriosoena da euskara estu estuenean zegoenean, itotzeko zorian, hasi ginela
|
gu
programa egiten, 1955ean, La Voz de Guipúzcoa irratian.
|
|
Zenbakiek positiboak izan behar dute, oso garrantzitsua da baldintza hau, bestela programak errorea emango bailuke. Askotan izango ditugu era honetako murriztapenak
|
gure
programetan. Horretxegatik, Perl ek badauka die izeneko funtzio berezi bat errore mezua pantailaratu eta programaren exekuzioa bertan behera uzten duena.
|
|
|
Gure
programetan begizta bat erabiltzen dugunean, beti ziurtatu behar dugu begiztaren agindu blokean baldintzako aldagaia egoki eguneratzen dugula, noizbait baldintza bete ez eta programak begiztatik ateratzeko modua izan dezan. Beste modu batera esanda, begiztan sartu bai, baina irteerarako atea zabalik utzi behar dugu beti.
|
|
Eta guk ezkutuko zenbakia asmatu artean erabiltzaileari behin eta berriz aukera emango dion programa nahi dugu. Igarriko zenion, irakurle, begizta egitura behar duela
|
gure
programak. Begizta horretan, eskemako 2 eta 3 pausoak errepikatuko dira harik eta erabiltzaileak zenbakia asmatzen duen arte.
|
|
Programaren irteera fitxategi batera birbideratzea oso baliagarria da emaitza pantailan bistaratzeko baino luzeagoa denean, baita programaren irteera modu iraunkorrean gorde nahi dugunean ere. Batzuetan, baliteke
|
gure
programaren irteera fitxategi batean gorde nahi izatea, baina fitxategiaren aurretiazko edukia ezabatu gabe. Hau da, datu berriak bukaeran erantsiz.
|
|
programa abiarazi, eta teklatu bidez idatzitakoa fitxategian gordeko lukeela, bere aurreko edukia ezabatuz. Hau da,
|
gure
programa ezabatuz.
|
|
|
Gure
programetan fitxategiekin lan egin ahal izateko, hiru pauso hauei jarraituko diegu beti:
|
|
|
Gure
programa guztiek, beraz, editatu exekutatu 2 pausoko zikloari jarraituko diote.
|
|
Eta hirugarrena eta azkena: komando lerroa,
|
gure
programak abiarazi eta emaitzak pantailaz ikusi ahal izateko erabiliko duguna. Segidan datozen ataletan, hasieran liburu honekin batera erabilgarri dagoen materiala deskribatuko da, eta ondoren tresna bakoitzaren oinarrizko funtzionamendua azalduko dugu.
|
|
Liburuan azaltzen diren programa guztien kodea topatuko du irakurleak programak karpetan. Azkenik, fitxategiak karpetan,
|
gure
programak elikatzeko erabiliko ditugun testu fitxategi guztiak bildu ditugu.
|
|
Windows ek fitxategiaren luzapenari begiratzen dio fitxategi hori zein programarekin zabaldu edo exekutatu behar duen jakiteko.
|
Gure
programa exekutatzeko nahikoa litzateke komando lerroan honakoa idaztea:
|
|
Aurreko bi pausoak burutu ondoren,
|
gure
programak zuzenean exekutatu ahal izango ditugu:
|
|
Windows sistema eragilearekin ari bagara lanean, ez du aintzat hartuko eta aurrera jarraituko du. Baina inoiz
|
gure
programa Linux sistema batean exekutatu nahi izanez gero, baliteke arazoak izatea jartzen ez badugu. Sistema edo plataforma ezberdinen arteko garraiagarritasuna segurtatzen digu shebang ak.
|
|
Lehenbiziko lerroa, shebang a,
|
gure
programak Windows zein Linux sistemetan arazorik gabe funtziona dezan jarri beharrekoa da. Gure programa guztien lehen lerroa shebang a izango da beti.
|
|
Lehenbiziko lerroa, shebang a, gure programak Windows zein Linux sistemetan arazorik gabe funtziona dezan jarri beharrekoa da.
|
Gure
programa guztien lehen lerroa shebang a izango da beti.
|
|
Programazioan ohikoak diren erroreak harrapatzeko behar ditugu.
|
Gure
programek izan ditzaketen akatsak identifikatzen lagunduko digute. Eta ez da laguntza makala gero!
|
|
Atal honetan, zer diren eta zertarako erabil ditzakegun azaltzen saiatuko gara. Ikusi berri dugunez,
|
gure
programetan erabil ditzakegun datu motak bi dira: string ak eta zenbakiak.
|
|
Bada, aldagaiak, balio horiek gordetzeko edukiontziak dira. Adibide baten laguntzaz hobeto ulertuko delakoan, demagun urte oso bateko segundo kopurua kalkulatu eta bistaratzen duela
|
gure
programak agindu honekin:
|
|
|
Gure
programetan kanpoko datuak jasotzeko bi modu nagusi dauzkagu: bata, erabiltzaileak teklatu bidez zerbait idatzi eta hura jasotzea, eta, bestea, datuak fitxategi batetik irakurtzea.
|
|
Erabiltzaileak teklatu bidez idatzitakoa
|
gure
programak jaso dezan, < STDIN> eragilea behar dugu. Adibidez, gure programan sententzia hau idatziko bagenu:
|
|
Erabiltzaileak teklatu bidez idatzitakoa gure programak jaso dezan, < STDIN> eragilea behar dugu. Adibidez,
|
gure
programan sententzia hau idatziko bagenu:
|
|
Ari da poliki poliki itxuratzen
|
gure
programa. Sententziak garbi idatzita daude, eta aldagai bakoitzaren funtzioa zein den ere nabaria da.
|
|
Bi letra besterik ez dituzten hitzak bilatzeko, ondokoa egokiagoa litzateke: Oraingoan parekatze positiboen kopurua txikiagoa izan da. Hala ere, ez gaude guztiz konforme
|
gure
programarekin. Badauzka oraindik leundu beharreko ertzak:
|
|
Ez dago batere gaizki, baina ia programa guztietan bezala, bada zer hobeturik.
|
Gure
programak exekuzio bakoitzeko bilaketa bakarra egiten du, eta bilaketa berri bat egin nahi dugun aldiro, programa berriro abiarazi behar dugu. Ez al litzateke erosoagoa exekuzio bakoitzean nahi adina bilaketa egitea?
|
|
Berriro ere, arretaz begiratzen badugu,
|
gure
programaren eraginkortasuna mugatua dela konturatuko gara. Izan ere, fitxategia lerroz lerro bilaketa patroiarekin parekatu, eta bat egiten duen lehen string puska edo hitza itzultzen du programak, bat egiterik den kasuan noski.
|
|
Array egiturak erruz erabiliko ditugu hemendik aurrera
|
gure
programetan. Perl ek hainbat funtzio eskaintzen ditu beraiekin eragiketak egin ahal izateko.
|
|
Orain arteko
|
gure
programek kanpotik datuak jasotzeko bi bide izan dituzte: bata, teklatu bidez erabiltzaileak datuak zuzenean sartzea, datu kopurua txikia denean erabili izan duguna.
|
|
Hala ere, dudarik ez da gaur egun arlo askotan informazio iturririk aberatsena eta eguneratuena Internet dela.
|
Gure
programek sarea atzitu ahal izango balute, corpus zoragarria izango genuke esperimentu eta datu bilketetarako. Horixe da hain zuzen ere hurrengo ariketetan landuko duguna:
|
|
Horixe da hain zuzen ere hurrengo ariketetan landuko duguna:
|
gure
programetatik nola atzitu dezakegun Internet, eta nola erabili bertako informazioa gure helburuetarako. Gai potoloa da inondik ere, eta oinarri oinarrizko bi kasu praktiko baino ez ditugu azalduko, egin daitekeenaren erakusgarri txiki bat.
|
|
Datozen adibideetan modulu berri bat erabiliko dugu
|
gure
programetan: LWP:: Simple modulua.
|
|
Hau da, erabiltzaileak komando lerroan bi argumentu idatzi dituela, lehena fitxategi izena eta bigarrena zenbakia.
|
Gure
programetan mota honetako egiaztapenak egitea oso gomendagarria da, erabiltzaileak programa abiatzerakoan egin ditzakeen erroreak aurreikusiz. Bigarren ezaugarri aipagarria, foreach egituran ohi bezala array edo zerrenda erabili beharrean funtzio bat jarri izana da:
|
|
Azpiprogramak definitu eta erabiltzeak bi abantaila nagusi dauzka: bata, kodea behin idatzi eta nahi adina aldiz erabil dezakegula ondoren
|
gure
programan. Kodeak aldaketaren bat balu, nahikoa litzateke azpiprograma definitu den lekuan aldatzearekin.
|
|
|
Gure
programak, komando lerrotik fitxategi izena jasoko du sarrera gisa, eta irteeran fitxategi horetan karaktere bikote bakoitza zenbatetan azaltzen den bistaratuko. Bigrama maiztasunak bi modutara bistaratuko ditu, lehenbizi testuan agertu diren ordenari jarraituz, eta, ondoren, maiztasunaren arabera ordenatuta.
|
|
Testu beraren bi puska dira, eta bi esaldi berdin dituzte. Ea zer dioen
|
gure
programak:
|
|
Hitz propioak topatzeko
|
gure
programarekin erraza litzateke aurreko ataza egitea:
|
|
|
Gure
programek, bezeroak eta zerbitzariak, zerbitzu bat eskaintzen diote erabiltzaileari. Gure adibide honetan, zerbitzu hori fitxategiak konputagailu batetik bestera eramatea da.
|