abonnementen ibood.com bol.com Gearbest
  woensdag 9 juni 2004 @ 19:30:25 #76
693 ChOas
** Warning: Choking hazard **
pi_19762264
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
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 ?

Oh.. mailtje komt er aan
"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]
pi_19762305
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:
sub alter {
my ($arg) = @_;
${$arg} = 2
};

my $test = 1;
my $ref = \$test;
print $test;
alter($ref);
print $test;
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"
Trotse poster van het 37000000ste bericht ^O^
  woensdag 9 juni 2004 @ 19:38:40 #78
65490 whoops
Home is where the heart is...
pi_19762497
Hey dit is echt cool!!! Na een jaar of twee/drie ervaring met PHP moet het niet zo lastig zijn om Perl te leren a.d.h. van deze handleiding

ik heb er nu alleen effe geen tijd voor, tvp dus
In the beginning, the universe was created. This made a lot of people very angry and has been widely regarded as a bad move.
pi_19762686
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"
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
pi_19762805
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

[ Bericht 1% gewijzigd door TimberWolf op 09-06-2004 19:54:09 (Bollocks, de code tag werkt niet.) ]
  woensdag 9 juni 2004 @ 20:08:36 #81
693 ChOas
** Warning: Choking hazard **
pi_19763230
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
Komt ie...
SPOILER
Om 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]
pi_19763310
Dit topic ga ik zeker in de gaten houden


Leuk, die mensen zonder leven
Waarom is dit steeds een leeg veld als ik naar mijn profiel ga kijken?
  woensdag 9 juni 2004 @ 20:12:37 #83
693 ChOas
** Warning: Choking hazard **
pi_19763333
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
aaaaaah... wat hier staat:

my ($arg)[email protected]_;

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...
"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]
pi_19763563
quote:
Op woensdag 9 juni 2004 20:12 schreef ChOas het volgende:

[..]

aaaaaah... wat hier staat:

my ($arg)[email protected]_;

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...
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
  woensdag 9 juni 2004 @ 20:25:47 #85
693 ChOas
** Warning: Choking hazard **
pi_19763719
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
Pjee!!... je stagneert helemaal niets!!.. dan heeft de rest maar wat meer geduld!

Dat voorbeeld heb ik inderdaad maar even gespoilered, ging een beetje te snel, er zitten daar een hoop impliciete references in...

Maar, DE reden voor references is (buiten parameters naar functies passen) dat je in een Perl variabele alleen maar een scalar kan stoppen, en daar kan je niet veel mee want je zal ZO VAAK tegenkomen "Had ik maar een lijst met hashes" enzo... dat kan je alleen met references oplossen.

mocht je ergens mee zitten ben ik ook op MSN te bereiken hoor ([email protected])
"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]
pi_19764064
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 uitleggen
Trotse poster van het 37000000ste bericht ^O^
  woensdag 9 juni 2004 @ 20:55:52 #87
65516 gieling
Live from NYC
pi_19764622
offtopic:
SPOILER
Om 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.
  woensdag 9 juni 2004 @ 21:51:10 #88
693 ChOas
** Warning: Choking hazard **
pi_19766352
Voor de mensen die Tk hebben geinstalleerd (zit standaard bij Activestate Perl), en willen experimenteren met regexps, dit heb ik ooit geschreven... :

#!/usr/bin/perl -w
use strict;
use Tk;

sub KeyPress;

my $MW=MainWindow->new;

my $AsList;
my %Border=qw(-relief raised);
my %Fill=qw(-fill both);

my $Top =$MW->Frame->pack(-side=>'top');
my $TopLeft =$Top->Frame(%Border)->pack(-side=>'left');
my $TopRight =$Top->Frame(%Border)->pack(-side=>'left');

my $RegLabel=$TopLeft->Label(%Border,-text=>'RegExp')->pack(%Fill);
my $TextLabel=$TopLeft->Label(%Border,-text=>'Text')->pack(%Fill);
my $AsListBox=$Top->Checkbutton(-text=>'List context',-variable=>\$AsList,-command=>\&KeyPress)->pack();
$Border{-bd}=1;
my $RegExp=$TopRight->Entry(-width=>30)->pack();
my $Text=$TopRight->Entry(-width=>30)->pack();

my $ResultTextFrame =$MW->Frame(%Border)->pack(-side=>'left');
my $ResultTextLabel=$ResultTextFrame->Label(-justify=>'left',-text=>"PreMatch:\nMatch:\nPostMatch:\nResult:\n\$1..n")->pack(%Fill);

my $ResultFrame =$MW->Frame(%Border)->pack(-side=>'left',%Fill);
my $ResultLabel=$ResultFrame->Label(-justify=>'left',-text=>"none\nnone\nnone\nnone")->pack(%Fill);


$MW->bind('all', '<KeyPress>', \&KeyPress);
MainLoop();

sub KeyPress
{
local $^W=0;
my $RegEx=$RegExp->get;
my $Text =$Text->get;
my (@Dollar,@Result,$Result,$Match,$PreMatch,$PostMatch);
my $Function;
my $FieldCodes=join "",'$Match=$&;',
'$PreMatch=$`;',
"\$PostMatch=\$';",
"\$Dollar[0]=\$1;",
"\$Dollar[1]=\$2;",
"\$Dollar[2]=\$3;",
"\$Dollar[3]=\$4;",
"\$Dollar[4]=\$5;";
if (!$AsList)
{
$Function=join "",'($Result=$Text)=~',"$RegEx;",$FieldCodes;
}
else
{
$Function=join "",'@Result=($Text=~',"$RegEx);",$FieldCodes;
};
eval $Function;
$Result||=join "|",@Result;
$Match||='none'; $PreMatch||='none'; $PostMatch||='none';
$ResultLabel->configure(-text=>"$PreMatch\n$Match\n$PostMatch\n$Result\[email protected]");
$ResultLabel->update;
};


Experimenteer er maar mee...

Nee, dit was geen les
"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]
pi_19767780
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
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.
pi_19767876
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
pi_19768067
Ik verheug me er ook op hoor
leuke tutorials, over een tijdje ook dat 'ie bijvoorbeeld HTML pagina's uitgeeft en/of met een database kan praten hoop ik?
  woensdag 9 juni 2004 @ 22:42:32 #92
693 ChOas
** Warning: Choking hazard **
pi_19768277
quote:
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
Volgende deel regexps ga ik je apache logging gebruiken

Maar dat wordt morgen... 2 termen die je dan gaat tegenkomen zijn 'greedy matching' en 'negated character classes' ... wordt tricky, wordt leuk
"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]
  woensdag 9 juni 2004 @ 22:43:36 #93
693 ChOas
** Warning: Choking hazard **
pi_19768312
Oh, en ik vraag me af wie ik moet pijpen voor een fucking schouderklopje, maar daar kom ik nog wel achter
"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]
pi_19769828
quote:
Op woensdag 9 juni 2004 22:42 schreef ChOas het volgende:
Volgende deel regexps ga ik je apache logging gebruiken
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 dag
pi_19782914
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
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++)
}
De fout die ik krijd is.
quote:
syntax error at ./test line 22, near ")
}"
Execution of ./test aborted due to compilation errors.
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.
pi_19783137
quote:
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.
Je doet nix in de for loop... Sterker nog, je hebt geen { en } er achter gezet
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";
}

}
Trotse poster van het 37000000ste bericht ^O^
pi_19783340
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 het ik zelf moeten kunnen verzinnen.....
  donderdag 10 juni 2004 @ 14:33:21 #98
78498 classpc
I don't like change
pi_19783371
Erg goed. Ik wil nu ook wel Perl scripten.
pi_19785369
Sorry hoor dat ik weer een vraag ga stellen....

Ik heb een vraag over het volgende voorbeeld:
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";
};
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.

Iemand die dat even wat wil verhelderen ?

[ Bericht 5% gewijzigd door Wouta op 10-06-2004 15:35:59 (quote gefixt) ]
pi_19786369
Ik denk omdat je steeds een scalar uit de list print en niet meteen de hele list... denk ik
abonnementen ibood.com bol.com Gearbest
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')