Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Redes Sociales
Últimos temas
» El foro esta muerto
Miér Oct 22, 2014 5:55 pm por dartabasit

» Actualizaciones en el DartEditor
Vie Abr 20, 2012 10:01 pm por PiloSoft

» Un Programa Básico Dart
Miér Abr 18, 2012 4:26 pm por dk23

» Boletin Semanal Del Equipo Dart (13/04/2012)
Vie Abr 13, 2012 3:59 pm por PiloSoft

» Festival Latinoamericano De Instalacion De Software Libre
Jue Abr 12, 2012 1:49 pm por PiloSoft

» La depuración habilitada para el Editor de Dart, más vivo edición de CSS
Jue Abr 12, 2012 12:44 pm por PiloSoft

» Hola Mundo
Mar Abr 10, 2012 11:46 pm por ckrattoz

» Guia Del Estilo Dart
Mar Abr 10, 2012 11:43 pm por PiloSoft

» Traductor de JavaScript a Dart
Dom Abr 08, 2012 8:56 pm por PiloSoft

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


La mayor cantidad de usuarios en línea fue 140 el Sáb Abr 07, 2012 11:25 pm.

Funciones En Dart

Ver el tema anterior Ver el tema siguiente Ir abajo

Funciones En Dart

Mensaje por PiloSoft el Miér Abr 04, 2012 9:53 pm

Funciones En Dart


He aquí una simple función:
Código:
String say(String from, String msg) => "$from says $msg";
Y he aquí un ejemplo de llamada es el siguiente:
Código:
print(say("Bob", "Hello")); // "Bob says Hello"
La omisión de los tipos, se podría escribir de la forma:
Código:
say(from, msg) => "$from says $msg";
Sin embargo, se recomienda utilizar los tipos de firmas de función.

The => e, la sintaxis es una forma abreviada de {return e;} . Por ejemplo, say(from, msg) => "$from says $msg"; es la misma:
Código:
say(from, msg) {
  return "$from says $msg";
}
Los parámetros opcionales
Envolver un parámetro de función en [] lo marca como un parámetro opcional.
Código:
String say(String from, String msg, [String device]) {
  var result = "$from says $msg";
  if (device != null) {
    result = "$result with a $device";
  }
  return result;
}
He aquí un ejemplo de llamar a esta función sin el parámetro opcional:
Código:
print(say("Bob", "Howdy")); // Bob says Howdy
He aquí un ejemplo de llamar a esta función con el tercer parámetro:
Código:
print(say("Bob", "Howdy", "smoke signal"));
// Bob says Howdy with a smoke signal
Los valores por defecto para los parámetros opcionales

Los parámetros opcionales pueden tener valores por defecto. Los valores por defecto deben ser constantes de tiempo de compilación. Si no hay valor por defecto se proporciona, el valor es nulo (como vimos más arriba).
Código:
String say(String from, String msg, [String device='carrier pigeon']) {
  var result = "$from says $msg";
  if (device != null) {
    result = "$result with a $device";
  }
  return result;
}

La omisión del parámetro opcional, usted puede ver cómo el valor por defecto se utiliza:
Código:
print(say("Bob", "Howdy")); // Bob says Howdy with a carrier pigeon
Los parámetros con nombre
Los parámetros opcionales son también parámetros con nombre.
Código:
print(say("Bob", "Howdy", device: "tin can and string"));
// Bob says Howdy with a tin can and string

Funciones de primera clase
Puede pasar una función como un parámetro a otra función. Por ejemplo:
Código:
List ages = [1,4,5,7,10,14,21];
List oddAges = ages.filter((i) => i % 2 == 1);
Cuál es la misma que:
Código:
bool isOdd(num i) => i % 2 == 1;
List ages = [1,4,5,7,10,14,21];
List oddAges = ages.filter(isOdd);
También puede asignar una función a una variable, como por ejemplo:
Código:
var loudify = (msg) => '!!! ${msg.toUpperCase()} !!!';
print(loudify('hello'));

Los valores de retorno

Todas las funciones devuelven un valor. Si no hay valor de retorno se especifica, la instrucción return null; implícitamente añade al cuerpo de la función.

Resumen de funciones

Dart es compatible con funciones de primera clase, con parámetros opcionales, los parámetros con nombre, y los valores predeterminados de los parámetros. Las funciones pueden asignarse a las variables y se pasa como parámetros a otras funciones. Las funciones también apoyan el cierre de léxicos, lo que permite el acceso a las variables fuera de su ámbito léxico inmediata.

PiloSoft
Admin

Mensajes : 43
Fecha de inscripción : 26/03/2012
Edad : 24
Localización : Jojutla

Ver perfil de usuario http://dartmexico.foroactivo.mx

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.