Comunidad de diseño web y desarrollo en internet online

Void

Citar            
MensajeEscrito el 16 Ago 2005 05:26 pm
y que hace el Void???

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

firefox
Citar            
MensajeEscrito el 16 Ago 2005 05:33 pm
Mx Void significa vacio, y es para indicar que la función no retorna nada, es decir que no puedes hacer ningun return dentro de ella

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 16 Ago 2005 06:13 pm
en parte si y en parte no cuando usas void no te refieres a una funcion sino a un procedimiento que por definicion no retorna ningun valor, pero bueno eso no es en todo los lenguajes :P ademas, no solo se usa en estas ocaciones en el manejo de hilos y procedimientos es muy comun tener parametros de tipo void jeje, bueno ya me fui a otro tema sorry :oops:

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 16 Ago 2005 08:42 pm
eh, no me revuelvan, que soy novato...gracias
en ese caso en especifico, se refiere a que la funcion no regresa ningun valor,solo efectúa un proceso y punto.

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

msie
Citar            
MensajeEscrito el 17 Ago 2005 02:00 am
gracias Maikel, Prozac y ramiro_olvera.

en este caso, es nesesario declarar que la funcion no regresa ningun valor???, es decir, si solo se dedica a hacer x cosa, para que especificar que va a hacer eso y nada mas?
perdon la brutez de mi pregunta, jejejjej *se imagina las caras de risa de los que la leen :oops: ^^

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

firefox
Citar            
MensajeEscrito el 17 Ago 2005 02:44 am

Prozac escribió:

en parte si y en parte no cuando usas void no te refieres a una funcion sino a un procedimiento que por definicion no retorna ningun valor


Ese concepto de procedimiento viene de Turbo Pascal, que diferencia una funcion vacia con palabra reservada procedure de las funciones que retornan valor con la palabra reservada function, c/c++ que es de donde proviene la sintaxis de muchos lenguajes como actionscript, php, java, javascript, etc. no existen procedimiento simplemente son funciones vacias aunque el concepto sea el mismo.

en este caso, es nesesario declarar que la funcion no regresa ningun valor???, es decir, si solo se dedica a hacer x cosa, para que especificar que va a hacer eso y nada mas?


Pues en actionscript no es necesario ya que aun le falta evolucionar mucho mas, ya que nos permite a los programadores a apoyarnos de MAÑAS, ya que es un lenguaje que no es fuertemente tipeado como turbo pascal, como declarar una variable si un tipo definido al igual que las funciones, aunque es indiferente seria lo ideal que especificaras que tipo de dato retornara una funcion.

PD: dividi este tema porque no estaba aportando nada al tema del que provino y creo que es interesante hacer aclaraciones por eso lo puse en General que es el foro mas apropiado para estas aclaraciones

este tema proviene de
http://www.cristalab.com/foros/viewtopic.php?p=69009#69009

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 17 Ago 2005 03:17 am
gracias!!!!!! jajajja, no encontraba el tema por ningun lado!
re bien el post! 8)
quizas lo empiece a usar, lo habia visto antes utilizado pero no sabia muy bien que hacia, y habia consultado ovbiamente la ayuda de flash, pero leyendo en ingles se complicaba todo!
a ver si me resulta
saludos! ^^

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

firefox
Citar            
MensajeEscrito el 17 Ago 2005 03:41 am
Ese concepto de procedimiento viene de Turbo Pascal


Oye psss pero tampoco te pongas historico y menos traigas turbo pascal al tema, yo tampoco es que soy un anciano :lol: :lol: :lol: :lol:

y si tienes razon la parte practica de estos conceptos viene de Pascual pero es mas un concepto general que alguna relacion con x lenguaje en especifico.

en realidad la principal diferencia es que en un procedimiento los parametros cambian, y en una funcion no, solo se refleja el cambio en el retorno de la funcion(ya se que muchos se colgaron aqui, pero es un poco dificil de explicar :P)

pero para no enredarlo mucho dejemoslo asi, hasta que se presenten mas dudas sobre el tema

SAludos 8)

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 17 Ago 2005 04:47 am

Prozac escribió:

en realidad la principal diferencia es que en un procedimiento los parametros cambian, y en una funcion no, solo se refleja el cambio en el retorno de la funcion


nop, eso no es cierto, mucho menos en actionscript que no admite parametros por referencia. En lenguajes que admiten parametros por referencia C/C++, pascal, delphi, etc. si se le puede cambiar el valor ya sea en una funcion o en un procedimiento. Sencillamente la diferencia radical entre una funcion y un procedimiento(funcion vacia), es que el procedimiento no retornan ningun valor y la funcion si lo hace(aunque en actionscript no te advierte o te corrige retornas o no), en el caso de C/C++ lenguaje que no es fuertemente tipeado te advierte sobre esto, pascal si te da error y no te permite ejecutar el programa.

Aclaratoria:
Parametros por referencia: parametros que se le modifican sus valores dentro de la función y al salir de esta la variable que la se le paso como parametro toma el ultimo valor que tuvo esta dentro de la funcion nuevo.
Parametros por valor: su valor queda estatico al salir de la ejecucion de la funcion al salir de esta la variable queda con el valor que llego.

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 17 Ago 2005 08:16 am
Mx ... en realidad son BUENAS PRACTICAS, es decir, tu en flash puedes declarar variables de esta forma

nombre = "Pepito"; //es un String
que despues te permite hacer algo como
nombre = 123; //ahora lo convertimos a numero

Lo que te puede dar error en ciertos casos, pues se espera un numero y hay un string y ZAS... NaN al canto

por eso en AS2.0 y las clases las variables se declaran
var nombre:String = "Pepito";
asi si en algun momento del programa se hace
nombre = 123; no te dejaria compilar

una funcion se puede declarar con o sin el Void, pero poniendo el Void ya sabes que si pones algun return te avisara el programa antes de compilar

Kizas esto sea muy muy pesado al principio y mas en Flash, que se lo traga todo como si nada [es increible que funcione!] pero si vas tocando otros lenguajes como JAva, veras que a la larga es jodidamente util...

o como dirian en Caperucita y el Lobo :
Cap : "Abuelita, Abuelita, para que es el Void tan grande que tienes?"
Lobo : "Para programarte Mejooorrrrrr!"

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 17 Ago 2005 12:07 pm
tu dices..

nop, eso no es cierto, mucho menos en actionscript


pero te recuerdo que yo dije

es mas un concepto general que alguna relacion con x lenguaje en especifico.


ademas de que dije

dejemoslo asi


:wink: y como el buen ICEM4N ha dicho son buenas practicas que muchos a veces olvidamos usar

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 17 Ago 2005 05:47 pm
gracias iceman!!! de a poco voy entendiendo

y mas si me lo explican de esta manera!!!!!!


o como dirian en Caperucita y el Lobo :
Cap : "Abuelita, Abuelita, para que es el Void tan grande que tienes?"
Lobo : "Para programarte Mejooorrrrrr!"

^^ ^^ ^^

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

firefox
Citar            
MensajeEscrito el 17 Ago 2005 07:31 pm
void=vacío
es una función, algunos la usan asi: void(0), pero la manera correcta es void()
en pascal, en php, en flash, en C++ y Basic se usa de la misma manera, no tiene razón alguna, void seria igual a un return false pero desde una función.

un ejemplo claro es usarlo en un link asi:
<a href="javascript:alert("mensaje");void();">vació</a>
o en Flash
<a href="fscommand:trace("mensaje");void();">vació</a>
en ambos el significado seria algo como en esta ilustracióm:

Código :

function void()
{
return false;
}

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 18 Ago 2005 02:00 pm
Argh!!!!!!

Bueno a ver... void (se escribe sin mayúsculas en C / C++ y ActionScript) es una sencilla instrucción para decir que no quieres pasar parámetros a una función ni retornarlos, por ejemplo:

Código :


void protesto(char *minombre)
{
    minombre = "Sephirot";
    cout<<minombre<<" protesta por tanto mal uso del void...";
}

int main(void)
{
    protesto();
    return 0;
}



nota como aquí lo use para decir que la función no toma un valor de retorno, mientras que en la función main, lo use para no tomar parámetros.

otro ejemplo:

Código :


int protesto(void)
{
   int  i = 1000;      
   return i;
}

void main(void)
{
    int r;
    r = protesto();
    cout<<"Sephirot ha protestado " <<r<<" veces";
}


Nota como aquí uso en la primera función el void para no usar ningún parámetro y en el main declaro ambos lados como void. Todo esto es C++

Ahora que dice Flash sobre void:


Operador; operador unario que descarta el valor expression y devuelve un valor sin definir. El operador void se utiliza a menudo en comparaciones con el operador == para comprobar valores sin definir.


Y en efecto en Flash no es obligatorio su uso.

Por cierto, Mx si te preguntas que es un parámetro, pues es una variable o valor que quieres que use la función para lograr su propósito.

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 18 Ago 2005 04:37 pm
en actioscript tambien existe Void pero es para caso de indicar que una function no recibe parametros o no retorna ningun valor, aunque esto no es necesario indicarlo.
Coderic void en turbo pascal ni siquiera existe, en el caso de hacer una funcion que no retorne ningun valor es con procedure

Código :

procedure void;
begin
     writeln('asi es una funcion que no retorna nada en pascal, void se puede tomar como identificador de una variable, procedimiento, etc.');
end;


y para indicar que no recibe parametros se omiten los parentesis, solo eso

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 18 Ago 2005 05:48 pm

Operador; operador unario que descarta el valor expression y devuelve un valor sin definir. El operador void se utiliza a menudo en comparaciones con el operador == para comprobar valores sin definir.


si, me habia fijado, pero en ingles sonaba todo tan complicado!:crap:


Por cierto, Mx si te preguntas que es un parámetro, pues es una variable o valor que quieres que use la función para lograr su propósito.


gracias!!!! ^^ ^^ :)

Por Mariux

BOFH

7756 de clabLevel

28 tutoriales
15 articulos

Genero:Femenino   Héroes Editores

Diseñadora & ilustradora

firefox
Citar            
MensajeEscrito el 18 Nov 2010 09:51 pm
No entiendo este ejemplo de Flash:

Código ActionScript :

var intervalId:Number;
var count:Number = 0;
var maxCount:Number = 10;
var duration:Number = 1000;

function executeCallback():Void {
 trace("executeCallback intervalId: " + intervalId + " count: " + count);
 if(count >= maxCount) {
 clearInterval(intervalId);
 }
 count++;
}

function beginInterval():Void {
 if(intervalId != null) {
 trace("clearInterval");
 clearInterval(intervalId);
 }
 intervalId = setInterval(this, "executeCallback", duration);
}

beginInterval();
beginInterval();
beginInterval();


hace el trace y empieza a contar desde intervalId = 3 ¿no debería contar desde 2 porque intervalId ya tiene un valor al ehecutarse el primer beginInterval()?

Gracias.
Saludos, Emiliano

Por boratlon

Claber

139 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.