Rene Bon Ciric
FOSS Consultant and Creative Commons Musician.
import 'dart:math' show Random; // importar una clase de una librería.
void main() { // La app comienza a ejecutarse aquí.
print(new Die(n: 12).roll()); // Imrpimir el valor del objeto nuevo. Encadenar métodos.
}
class Die { // Definir una clase.
static Random shaker = new Random(); // Declarar una variable de clase.
int sides, value; // Definir una variable de instancia.
String toString() => '$value'; // Métodos (manera corta)
Die({int n: 6}) { // Definir un constructor.
if (4 <= n && n <= 20) {
sides = n;
} else {
throw new ArgumentError(/* */); // Soporta errores y excepciones.
}
}
int roll() { // Definir un método de instancia.
return value = shaker.nextInt(sides); // Obtener un número random.
}
}
Map famousDuos = { 'Han Solo': 'Chewbacca', // Mapa literal.
'Bonnie': 'Clyde',
'Laurel': 'Hardy' };
List myFriends = [ 'Seth', 'Kathy', 'Shailen' ]; // Lista literal.
// Crea listas y mapas de objetos Iterables.
List shuffledSidekicks = new List.from(famousDuos.values)..shuffle();
Map mixedDuos = new Map.fromIterables(famousDuos.keys, shuffledSidekicks);
// Iteración.
mixedDuos.forEach((k, v) { print('$k, $v'); });
// Algunas listas, mapas y sets son extendibles.
Set setOfMyFriends = new Set.from(myFriends);
Set famousPeople = new Set.from(famousDuos.values);
famousPeople.addAll(famousDuos.keys);
// Mucha funcionalidad para colecciones.
print(famousPeople.intersection(setOfMyFriends).isEmpty);
print(famousPeople.union(setOfMyFriends).length);
wget -c http://goo.gl/YyfsAN
Para más info:
Gracias
By Rene Bon Ciric
Una presentación en español acerca de Dart.