]> git.llucax.com Git - z.facultad/75.31/presentacion.git/commitdiff
Mejoras varias a los ejemplos.
authorLeandro Lucarella <llucax@gmail.com>
Tue, 31 May 2005 00:38:17 +0000 (00:38 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 31 May 2005 00:38:17 +0000 (00:38 +0000)
ejemplos/exception.d [new file with mode: 0644]
ejemplos/nogc.d
ejemplos/seguridad.d
ejemplos/seguridad_mod.d [new file with mode: 0644]
ejemplos/unit_test.d

diff --git a/ejemplos/exception.d b/ejemplos/exception.d
new file mode 100644 (file)
index 0000000..19e91f3
--- /dev/null
@@ -0,0 +1,18 @@
+
+int main()
+{
+       try
+       {
+               //throw new Exception("execpcion");
+               assert(0);
+       }
+       catch (Exception e)
+       {
+               printf("%.*s\n", e.msg);
+       }
+       finally
+       {
+               printf("finally\n");
+       }
+       return 0;
+}
index 5df46674724fefed3b0e67175f99f5b4a81f4434..83d3f07567d2c610bbd726be3dc7b60e3ae3357b 100644 (file)
@@ -3,9 +3,14 @@ import std.c.stdlib;
 int main()
 {
        int* p = cast(int*) malloc(4 * int.sizeof); // Nunca seran recolectados
-       p[3] = 1;
+       p[0] = 1;
+       p[1] = 11;
+       p[2] = 13;
+       p[3] = 17;
+       free(p); // libero
+       p = cast(int*) malloc(4 * int.sizeof); // No se inicializa
        for (uint i = 0; i < 4; ++i) printf("p[%d] = %d\n", i, p[i]);
-       free(p);
+       free(p); // liberoo se inicializa
        return 0;
 }
 
index df984f1cd9f512ade0b7bb1c53ec603829f43909..d460a9e2615a373a5008c5eb8783422ece5e1fb6 100644 (file)
@@ -1,23 +1,21 @@
 
-class C
-{
-       private int i;
-}
-
-struct S
-{
-       private int i;
-}
+import seguridad_mod;
 
 int main()
 {
        C c = new C;
+       /* No compila!
+       c._i = 1;
+       int j = c._i;
+       */
        printf("c.i = %d\n", c.i);
-       c.i = 1;
+       c.i = 2;
        printf("c.i = %d\n", c.i);
        S s;
+       s._i = 1; // ignora seguridad de struct
+       int j = s._i; // ignora seguridad de struct
        printf("s.i = %d\n", s.i);
-       s.i = 1;
+       s.i = 2;
        printf("s.i = %d\n", s.i);
        return 0;
 }
diff --git a/ejemplos/seguridad_mod.d b/ejemplos/seguridad_mod.d
new file mode 100644 (file)
index 0000000..f948927
--- /dev/null
@@ -0,0 +1,15 @@
+
+class C
+{
+       private int _i;
+       int i() { return _i; }
+       int i(int i) { return _i = i; }
+}
+
+struct S
+{
+       private int _i; // ignora seguridad de struct
+       int i() { return _i; }
+       int i(int i) { return _i = i; }
+}
+
index 925e7c6edc6b8983f7ec523445a2169b27baacc7..e8cc9173a2873262420d89f367ec09abc3809eb8 100644 (file)
@@ -10,5 +10,6 @@ class C
 
 int main()
 {
+       printf("hola\n");
        return 0;
 }