Dart: in arrivo cambiamenti nella sintassi

Di - 1 November 2012 - in

Dopo il rilascio del Milestone 1 (M1) gli sviluppatori hanno annunciato l’imminente rimozione di alcuni elementi sintattici deprecati invitando gli utenti ad aggiornare il codice nelle proprie applicazioni. È stata innanzitutto differenziata la sintassi per la definizione dei parametri opzionali da passare ad una funzione: i parametri passati per posizione continueranno ad essere racchiusi fra parentesi quadre mentre i parametri passati per nome dovranno essere racchiusi fra parentesi graffe.

Dovrà essere rimosso il token abstract dalle dichiarazioni dei metodi.

 

Dovranno essere eliminate le parentesi dai getters:

get length() => 42; 

dovrà essere sostituito con:

get length => 42; 

Se un membro di una classe e un suo costruttore hanno lo stesso nome, uno dei due deve essere rinominato, non è più ammessa una classe di questo tipo:

class C { C.named(); named(); } 

Le interfacce saranno d’ora in poi classi di tipo abstract:

interface I { foo(); bar(); } 

dovrà essere sostituito con:

abstract class I { foo(); bar(); } 

La sintassi di library/import/source è cambiata. Un codice di questo tipo:

#library('whatnot'); #import('other.dart', prefix: 'other'); #source('src.dart'); 

dovrà essere sostituito con:

library whatnot; import 'other.dart' as other; part 'src.dart'; 

e la prima riga di src.dart dovrà essere:

part of whatnot; 

È cambiata anche la sintassi per l’operatore identical (===):

(a === b) && (c !== d) 

dovrà essere sostituito con:

identical(a, b) && !identical(c, d) 

Il tipo Dynamic dovrà essere rinominato in dynamic.

Molte di queste sostituzioni potranno essere effettuate automaticamente tramite DartEditor, cliccando col tasto destro sulla cartella dell’applicazione di cui si vuole il aggiornare il codice e scegliendo Clean Up dal menù.

Gli elementi che Clean Up potrà aggiornare automaticamente sono:

  • i blocchi catch
  • i getters
  • le stringhe in formato @’rawString’
  • i metodi parseInt() e parseDouble()
  • l’operatore identical
  • i parametri opzionali
  • la struttura library/import/source

Fonti news.dartlang.org, dartlang.org

Leave a Reply

Claudio d'Angelis Articolo scritto da

Programmatore e studente di Informatica, appassionato di musica, web e sistemi UNIX. Collabora con Googlab dall'Ottobre 2012.

Contatta l'autore

Previous post:

Next post: