Overriding core functions in Dart

An interesting question came up on the Dart mailing list today, asking how to essentially overload a core function, avoiding a name collision.

For example, how to handle this?

class Printer {
                       // print() comes from dart:core
  print(String msg) => print(msg);
}

The dart:core top level function print() is available and defined, however what do you do if you want to name a method print() ?

Thanks to Sam McCall, there are a few options:


Function consolePrint = print; 
class Printer { 
  print(m) => consolePrint(m); 


and

consolePrint(m) => print(m); 
class Printer { 
  print(m) => consolePrint(m); 



Thanks for the question and answer about Dart!
Post a Comment

Popular posts from this blog

Converting Array to List in Scala

I ported a JavaScript app to Dart. Here's what I learned.

Minification is not enough, you need tree shaking