Schrift
[thread]8724[/thread]

Rätsel der Woche 2007/2: viel Spaß beim Rätseln (Seite 3)



<< |< 1 2 3 4 >| >> 36 Einträge, 4 Seiten
esskar
 2007-02-13 19:21
#74029 #74029
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=murphy,13.02.2007, 14:39]Man muss allerdings auch sagen, dass D eine recht junge Sprache ist, weshalb so einige Bibliotheken, die man sich wünschen würde einfach noch nicht existieren -- zum Beispiel gibt's noch keine gute, portable GUI-Schnittstelle (allerdings stelle ich mir sowieso immer wieder die Frage, ob es so etwas überhaupt schon gibt ;-)[/quote]
ich hab jetzt http://www.digitalmars.com/d/phobos/phobos.html gefunden
was gibts denn noch so für libs?

ich finde die Sprache definitiv interessant!
murphy
 2007-02-13 19:37
#74030 #74030
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=esskar,13.02.2007, 17:21][...] was gibts denn noch so für libs? [...][/quote]
Schau mal auf http://www.dsource.org/, da findet sich einiges.
When C++ is your hammer, every problem looks like your thumb.
J-jayz-Z
 2007-02-13 21:40
#74031 #74031
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hmm. Gibt es in D auch Pointer?
Code: (dl )
private Result[char *] cache;

Das sieht mir schwer so aus, hab ich aus deinem Code. Also ich schau mir D mal an ...

Gibt es dafür ne gescheite IDE?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
murphy
 2007-02-14 17:56
#74032 #74032
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
@J-jay-z: Pointer funktionieren in D ähnlich wie in C. Auf jeden Fall ist die Syntax um sie zu deklarieren nahezu identisch.

Bei dem Beispiel, das du aus meinem Code hast, ist übrigens etwas Vorsicht geboten: Im Gegensatz zu C ist in D ein char * kein String, sondern eben nur ein Pointer auf char, ein String ist in D ein char[], also ein Array mit Längeninformation! Die Deklaration private Result[char *] cache; sieht wenig spektakulär aus, wäre aber so in C auch nicht möglich: Sie erzeugt eine private (Instanz-)Variable, welche ein assoziatives Array enthält, dessen Schlüssel Pointer auf char und dessen Werte Referenzen auf Instanzen der Klasse Result sind.

Eine IDE für D kenne ich nicht. Ich brauche außer Emacs oder Vi eigentlich keine IDE...
When C++ is your hammer, every problem looks like your thumb.
esskar
 2007-02-14 18:12
#74033 #74033
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=murphy,14.02.2007, 16:56]Im Gegensatz zu C ist in D ein char * kein String, sondern eben nur ein Pointer auf char[/quote]
das ist in C auch so! ;)
murphy
 2007-02-15 01:48
#74034 #74034
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
@esskar: Schon klar. Was ich eigentlich sagen wollte, aber unzulässig verkürzt habe, ist, dass in C Strings einfach als char * übergeben oder in Variablen gespeichert werden, weshalb das Terminieren der Strings durch ein Nullzeichen nötig wird. Das ist natürlich ineffizient -- immerhin muss jedesmal, wenn die Länge eines Strings bestimmt werden soll, durchgezählt werden. Im Gegensatz dazu behandelt D Strings als dynamische Arrays, wobei char[] in D sozusagen einer Struktur wie struct { size_t length; char *ptr; } ; in C entspricht, also eine eingebaute Längenangabe hat. Das ist sicherer und schneller als die C-Lösung. Wenngleich man in D tatsächlich auf die Felder length und ptr eines dynamischen Arrays zugreifen kann, so wird natürlich auch weiterhin die C-Syntax der Arrayzugriffe (plus Erweiterungen wie Slices) unterstützt.
When C++ is your hammer, every problem looks like your thumb.
esskar
 2007-02-15 06:33
#74035 #74035
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
mir war auch klar, dass du das eigentlich weisst
J-jayz-Z
 2007-02-15 06:35
#74036 #74036
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
5:33Uhr? Willst du nicht mal schlafen gehen? ;)

Ich für meinen Teil finde das DBuch, das auf Wikipedia verlinkt ist ganz gut - kleiner tipp.
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
esskar
 2007-02-15 07:20
#74037 #74037
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=J-jayz-Z,15.02.2007, 05:35]5:33Uhr? Willst du nicht mal schlafen gehen? ;)[/quote]
es war hier 8:33 uhr
bin heute mal früh wach geworden :)
J-jayz-Z
 2007-02-15 16:43
#74038 #74038
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Achso. Ich war noch wach ;)
Wo bist den,das du dich in einer andere Zeitzone befindest?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< |< 1 2 3 4 >| >> 36 Einträge, 4 Seiten



View all threads created 2007-02-05 14:03.