Agreequote:Op maandag 7 juni 2004 23:13 schreef ChOas het volgende:
Echter... de impliciete return van een functie is niet $_, maar het resultaat van de laatste uitgevoerde functie/opdracht:
quote:Morgen moet ik even een cursus doen, en dan 's avonds doen we references en misschien een begin van regexps...
Ja, sorry dat ik af en toe zeik ... maar af en toe geef ik cursussen, en dan heb je gelijk commentaar, en vragen enzo... nu vraag ik me af en toe af of ik iets fout doequote:Op dinsdag 8 juni 2004 20:14 schreef BaggerUser het volgende:
hey ookal word er niet de hele tijd gereageerd je moet gewoon door gaan ermee
dit is alles op een goede manier uitgelegd dus heel handig voor de noobs ik ga er ook mee beginnen binnenkort (alleen dankzij dit topic )
Precies! ... en nu (Ja, ik ben een lul ) waarom werkt het niet wanneer je geen ( en ) om my($ptr) heen hebt in je sub ?quote:Op dinsdag 8 juni 2004 20:41 schreef devzero het volgende:
eens kijken of iedereen nog bij de les is:
#!/usr/bin/perl -w
use strict;
sub groet {
my($ptr) = @_;
${$ptr}="Hallo ".${$ptr};
}
my($name) = "Paul";
groet \$name;
print "$name\n";
call by reference kan dus zo worden geimplementeerd.
Packages ? ... ja... gaan we ook doen... komt bij het OO gedeelte...quote:Op dinsdag 8 juni 2004 20:45 schreef daReaper het volgende:
Ik ga trouwens zeker wel even mee lezen als er uitgelegd gaat worden, hoe je op een goeie manier je eigen modules kan maken. Gaat dat ook nog komen, ChOas?
Ik ga voor deze optie En 't is zeker wel leukquote:Op dinsdag 8 juni 2004 16:33 schreef ChOas het volgende:Iedereen die dit leest denkt het te snappen
Ik hoop dat jullie het nog leuk vinden...
Packages inderdaadquote:Op dinsdag 8 juni 2004 20:51 schreef ChOas het volgende:
[..]
Packages ? ... ja... gaan we ook doen... komt bij het OO gedeelte...
Hmm, niemandquote:Op dinsdag 8 juni 2004 20:50 schreef ChOas het volgende:
Precies! ... en nu (Ja, ik ben een lul ) waarom werkt het niet wanneer je geen ( en ) om my($ptr) heen hebt in je sub ?
Ik weet t wel, maar da's flauw, aangezien ik al 5 jaar Perlquote:Op dinsdag 8 juni 2004 21:22 schreef devzero het volgende:
[..]
Hmm, niemand
iemand een idee als ik
my $ptr = $_[0];
schrijf
*mompelt iets over list in scalar context*quote:Op dinsdag 8 juni 2004 21:27 schreef daReaper het volgende:
[..]
Ik weet t wel, maar da's flauw, aangezien ik al 5 jaar Perl
Dus ik geef de beginners een kans om te antwoorden
Mensen die het echt willen weten moeten maar een boek over finite automaten aanschaffenquote:Op dinsdag 8 juni 2004 21:41 schreef ChOas het volgende:
ZO, en dat is het, en niets meer (<- fucking leugen, maar zo gaan we er mee beginnen)
en weer heb je gelijkquote:Op dinsdag 8 juni 2004 22:50 schreef devzero het volgende:
[..]
Mensen die het echt willen weten moeten maar een boek over finite automaten aanschaffen
plug: Derick Wood-Theory of Computation is een goede starter
Ik ben benieuwd naar de volgende les. Pattern matching is de kracht van perl. Wat nu: metacharacters of string replacements.
Nog wat syntactic sugar voor het volgende pilsje en Dr. Phil
$_ = "Hallo ChOas";
print "Wie??\n" if(/ChOas/);
Aangezien gematcht wordt met $_ mag je de =~ operator direct weglaten.
Hoeveel wil je er hebben? Mail maar op bofh apendingetje meanframe punt comquote:Op woensdag 9 juni 2004 18:45 schreef ChOas het volgende:
Heeft iemand misschien een paar regels Apache logging ?
Dan ga ik eerst nog wat meer uitleggen over references ... Waar zat het probleem ? variabelen passen naar een functie, of meer het complexe datastructuren gedeelte ? ... of allebei ?quote:Op woensdag 9 juni 2004 19:26 schreef TimberWolf het volgende:
[..]
Hoeveel wil je er hebben? Mail maar op bofh apendingetje meanframe punt com
Maareh, vallen er nog wat praktijkvoorbeelden te geven voor pointers, pardon references? Ik denk het te snappen, maar ik zie het wezelijke nut nog niet echt
Oftewel: Meester, ik snap het wel, maar ik weet niet waarom
quote:Op woensdag 9 juni 2004 19:26 schreef TimberWolf het volgende:
[..]
Hoeveel wil je er hebben? Mail maar op bofh apendingetje meanframe punt com
Maareh, vallen er nog wat praktijkvoorbeelden te geven voor pointers, pardon references? Ik denk het te snappen, maar ik zie het wezelijke nut nog niet echt
Oftewel: Meester, ik snap het wel, maar ik weet niet waarom
Alsjeblieft. Ik heb hier een variabele aangepast met behulp van een functie, zonder van die functie een return te gebruiken. Output van deze code is "12"quote:sub alter {
my ($arg) = @_;
${$arg} = 2
};
my $test = 1;
my $ref = \$test;
print $test;
alter($ref);
print $test;
Ah. Eh. Nu ga ik inderdaad de domme cursist moeten zijn, want:quote:Op woensdag 9 juni 2004 19:31 schreef daReaper het volgende:
Alsjeblieft. Ik heb hier een variabele aangepast met behulp van een functie, zonder van die functie een return te gebruiken. Output van deze code is "12"
Komt ie...quote:Op woensdag 9 juni 2004 19:48 schreef TimberWolf het volgende:
[..]
Ah. Eh. Nu ga ik inderdaad de domme cursist moeten zijn, want:
A - Why? Waarom is dat handig?
B - Ik had nooit gedacht dat ik van zo weinig regels code, zo weinig zou snappen
Kan iemand me een real-world voorbeeld doen van het nut van pointers? I've gone stupid, blijkbaar
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Pfff... dat was even snel coden
Misschien ging ik daar over een paar dingen een beetje te snel... dus besteed er nog maar geen aandacht aan... ik heb hieronder even het gedeelte wat niet helemaal duidelijk was geprobeert uit te leggen, helpt dat ?
[ Bericht 1% gewijzigd door ChOas op 09-06-2004 20:20:18 ]"I contend that we are both atheists. I just believe in one fewer god than you do.
When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours."
[Stephen Roberts]
aaaaaah... wat hier staat:quote:Op woensdag 9 juni 2004 19:53 schreef TimberWolf het volgende:
Even pogen deze stap voor stap te doen. Ik move de functie even na de code:
my $test = 1;
De variabele test wordt aangemaakt, en gevuld met 1. Clear
my $ref = \$test;
Er wordt een reference gemaakt voor test, die noemen we ref. Die wijst dus
naar de variabele met de waarde 1. Clear
print $test;
Duh.
alter($ref);
Voer de functie uit
print $test;
Laat test zien
sub alter {
my ($arg) = @_;
Vul $arg met de te verwachten waarde. Hier ben ik um kwijt
${$arg} = 2
Not a fucking clue. Sorry...
};
Wat mis ik hier nu aan? Ik schaam me dood dat ik het niet snap namelijk
Ah, dat snap ik inderdaad dan beter Die hele 'do what i mean' variable in perl is krachtig zat, maar leuk verwarrend bovendien.quote:Op woensdag 9 juni 2004 20:12 schreef ChOas het volgende:
[..]
aaaaaah... wat hier staat:
my ($arg)=@_;
is hetzelfde als : my $arg=shift;
Dus: Het eerste element in @_ (De reference die aan de functie is meegegeven)...
${$arg}=2 betekent dat je 2 stopt in de scalar variabele waar $arg naar wijst.
Al beter ? zo niet zeg het, leg ik het op een andere manier uit...
Pjee!!... je stagneert helemaal niets!!.. dan heeft de rest maar wat meer geduld!quote:Op woensdag 9 juni 2004 20:20 schreef TimberWolf het volgende:
[..]
Ah, dat snap ik inderdaad dan beter Die hele 'do what i mean' variable in perl is krachtig zat, maar leuk verwarrend bovendien.
In jouw voorbeeld zie ik momenteel zelfs de hele pointers over het hoofd, maar dat kan door de warmte komen Ik pak dadelijk een biertje en een half uurtje rust, en dan komt het vast goed Ga voor de rest overigens vooral verder, ik blaat er af en toe wel tussendoor! Zou zonde zijn als ik de cursus stagneer tenslotte
't is maar goed dat dit ChOas' topic is, en niet die van mij, of niet dan? Ik ben echt bijzonder slecht in uitleggenquote:Op woensdag 9 juni 2004 20:20 schreef TimberWolf het volgende:
[..]
Ah, dat snap ik inderdaad dan beter Die hele 'do what i mean' variable in perl is krachtig zat, maar leuk verwarrend bovendien.
In jouw voorbeeld zie ik momenteel zelfs de hele pointers over het hoofd, maar dat kan door de warmte komen Ik pak dadelijk een biertje en een half uurtje rust, en dan komt het vast goed Ga voor de rest overigens vooral verder, ik blaat er af en toe wel tussendoor! Zou zonde zijn als ik de cursus stagneer tenslotte
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Het kan ook gewoon zijn dat ik een klein snappertje heb voor dit soort dingen Ben ooit begonnen met C, maar daar haakte ik ook af bij pointers. Op een of andere manier snap ik het doel gewoon niet. Maargoed, het begin helderder te worden. En als Choas met zijn cursus verder gaat, wat ik wel hoop, ga ik vast nog meer praktijkvoorbeelden tegenkomen.quote:Op woensdag 9 juni 2004 20:36 schreef daReaper het volgende:
[..]
't is maar goed dat dit ChOas' topic is, en niet die van mij, of niet dan? Ik ben echt bijzonder slecht in uitleggen
Volgende deel regexps ga ik je apache logging gebruikenquote:Op woensdag 9 juni 2004 22:31 schreef TimberWolf het volgende:
Ah, en chOas, de regexp uitleg is tot nu toe glashelder Ik verheug me op het volgende deel, en de rest vast ook, hoewel er maar weinig reageren
Right then Mocht je meer of andere logs nodig hebben weet je me te vinden. Mijn Linux doosje spuugt kilo's van die troep uit elke dagquote:Op woensdag 9 juni 2004 22:42 schreef ChOas het volgende:
Volgende deel regexps ga ik je apache logging gebruiken
De fout die ik krijd is.quote:#!/usr/bin/perl -w
use strict;
my $Number;
print "Voer een getal in onder de 10: ";
#krijg invoer van het toetsenbord (gebruiker)
$Number=<STDIN>;
#Enter uit $Number halen
chomp $Number;
if($Number>10)
{
print "Het nummer is groter dan 10 dus we gaan niet tellen\n";
}else{
print "het nummer is kleiner dan 10. We gaan tot 25 tellen\n";
#We gaan tot 25 tellen, met een for lus
for($Number;$Number<25;$Number++)
}
Wat doe ik fout want ik zie het echt niet. Het enige dat ik denk te weten is dat de fout in de for lus zit.quote:syntax error at ./test line 22, near ")
}"
Execution of ./test aborted due to compilation errors.
Je doet nix in de for loop... Sterker nog, je hebt geen { en } er achter gezetquote:Op donderdag 10 juni 2004 14:21 schreef Wouta het volgende:
Ik heb de eerste drie hoodfstukken gelezen en dacht laat ik is iets zinloos gaan maken.
Het volgende heb ik gemaak en het werkt niet
[..]
De fout die ik krijd is.
[..]
Wat doe ik fout want ik zie het echt niet. Het enige dat ik denk te weten is dat de fout in de for lus zit.
quote:#!/usr/bin/perl -w
use strict;
my $Number;
print "Voer een getal in onder de 10: ";
#krijg invoer van het toetsenbord (gebruiker)
$Number=<STDIN>;
#Enter uit $Number halen
chomp $Number;
if($Number>10)
{
print "Het nummer is groter dan 10 dus we gaan niet tellen\n";
}else{
print "het nummer is kleiner dan 10. We gaan tot 25 tellen\n";
#We gaan tot 25 tellen, met een for lus
for($Number;$Number<25;$Number++) {
print "$Number\n";
}
}
Dat het ik zelf moeten kunnen verzinnen.....quote:Op donderdag 10 juni 2004 14:27 schreef daReaper het volgende:
[..]
Je doet nix in de for loop... Sterker nog, je hebt geen { en } er achter gezet
[..]
Dat werkt gewoon wat ik me nu af vraag is waarom er een $ staat ipv een @ als je de fruit soorten gaat printen. Ik heb er een @ neergezet en toen ging perl heel bijdehand mij vertellen dat ik beter een $ kon gebruken. Maar helemaal snappen waarom ik geen @ moeten gebruiken daar doe ik niet.quote:#!/usr/bin/perl -w
use strict;
#Nieuwe list Fruit
my @Fruit=('Appel','Peer','Banaan','Kiwi');
#nieuwe scalar Index
my $Index;
#We gaan nu Index gebruiken om telkens een ander element uit de
#lijst aan te wijzen... met $Lijst[0] wijzen we zoals we eerder gezien
#hebben naar het 1e element.
#Wanneer we Index nou van 0 tot 3 laten lopen en telkens dat element
#afdrukken gebeurt het volgende:
for($Index=0;$Index<4;$Index++)
{
print "Dit is fruit: $Fruit[$Index]\n";
};
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |