Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5922[/thread]

Callbacks und Closures?: Kann mal einer was dazu erzählen. (Seite 3)

Leser: 1


<< |< 1 2 3 4 >| >> 33 Einträge, 4 Seiten
Cremator
 2003-11-30 06:04
#72649 #72649
User since
2003-11-26
97 Artikel
BenutzerIn
[default_avatar]
Quote
... damit haben mein Vater und ich damals meiner Mutter ein Weihnachten versaut ;-)


Ohja, das kenn ich, unserer kam auch zu Xmas. Ich werde nie das entsetzte Gesicht meiner Mutter vergessen, als Sie den Endbetrag auf dem Kassenzettel gesehen hat (und da war er schon erneut heruntergesetzt weil der 64er frisch auf dem Markt war).

Quote
... heraushängen zu lassen, was ich schon alles gemacht hab


So hatte ich das auch nicht aufgefasst. Es ist nur immer schoen wenn sich einer der "Heimcomputer-Oldtimer" zu erkennen gibt und dann macht man das ja auch.

Spass kann man in anderen Sprachen auf jeden Fall haben (wenn man sich nicht in den Header-Files verheddert *yes pun intended*), aber den Pathologic Eclectic Rubish Lister will auch ich nicht mehr missen.

- Ich glaub wir schweifen mittlerweile etwas arg weit vom Thread-Topic ab -
esskar
 2003-12-01 01:11
#72650 #72650
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Basic auf dem C64, Assembler ab nem 285er, C, C++, Perl, VB, SML, u.a. (und ich bin erst 23 :P )

am liebsten programmier ich noch in C/C++... ist einfach schneller...

und closures gibt es auch in C/C++\n\n

<!--EDIT|esskar|1070233946-->
Crian
 2003-12-01 11:08
#72651 #72651
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=Cremator,30.11.2003, 05:04]
Quote
... damit haben mein Vater und ich damals meiner Mutter ein Weihnachten versaut ;-)


Ohja, das kenn ich, unserer kam auch zu Xmas. Ich werde nie das entsetzte Gesicht meiner Mutter vergessen, als Sie den Endbetrag auf dem Kassenzettel gesehen hat (und da war er schon erneut heruntergesetzt weil der 64er frisch auf dem Markt war).[/quote]
Bei uns lags mehr daran, weil mein Vatrer und ich tagelang mit dem Gerät beschäftigt waren und die Familie und Weihnachten darüber völlig vergaßen.

Eine erste ernste Warnung dazu, was Computer mit einem machen können ;-D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Heromaster
 2003-12-01 11:54
#72652 #72652
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Ich programmierte mit Basic aufm Atari XE 800, C64, Amiga 1200 und heute mit VB. Mit Assembler und C hatte ich aufm C64 erste Erfahrung. Und in den letzten 4 Jahren kam PHP & Perl dazu.
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
ptk
 2003-12-01 12:29
#72653 #72653
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=esskar,01.Dec..2003, 00:11]Basic auf dem C64, Assembler ab nem 285er, C, C++, Perl, VB, SML, u.a. (und ich bin erst 23 :P )

am liebsten programmier ich noch in C/C++... ist einfach schneller...

und closures gibt es auch in C/C++[/quote]
Meinst du echte Closures oder einfach nur Funktionsreferenzen?
Crian
 2003-12-01 14:55
#72654 #72654
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Wahrscheinlich Blöcke { ... } zum Einschränken des Geltungsbereiches von Variablen ?!
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2003-12-01 16:19
#72655 #72655
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Ja, aber du kannst diese Bloecke nicht als Funktionsreferenz verwenden, es sei denn, es handelt sich um eine echte Funktion mit Namen.
esskar
 2003-12-01 18:17
#72656 #72656
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
also, man kann dies zun...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef int(*mycb)(bool);

int counter(bool reset = false)
{
  static int c = 0;
  if(reset) c=0;
  return c++;  
}

mycb x = counter;

printf("%i\n", (x)(false));
printf("%i\n", (x)(false));
printf("%i\n", (x)(true));


dann gibt es noch

Code: (dl )
1
2
3
4
5
6
7
int a = 0;
{
  printf("a = %i\n", a);
  a++;
  int b = 0;
}
// printf("b = %i\n", b); //b out of scope


was fehlt dir noch?\n\n

<!--EDIT|esskar|1070295593-->
ptk
 2003-12-01 18:44
#72657 #72657
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wie implementierst du das Beispiel aus perlref.pod (beginnt mit "sub newprint")?
esskar
 2003-12-01 19:16
#72658 #72658
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
so...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>

typedef struct tagNewPrint
{
char *p1;
tagNewPrint(char* a) : p1(a) { }
void operator()(char* x) { printf("%s, %s!\n", p1, x); }
} NewPrint;

int main()
{
NewPrint h("Howdy");
NewPrint g("Greetings");

h("world");
g("earthlings");

return 0;
}
<< |< 1 2 3 4 >| >> 33 Einträge, 4 Seiten



View all threads created 2003-11-23 22:15.