/* * This file is part of the X10 project (http://x10-lang.org). * * This file is licensed to You under the Eclipse Public License (EPL); * You may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.opensource.org/licenses/eclipse-1.0.php * * (C) Copyright IBM Corporation 2006-2010. */ import x10.io.Console; /** * The classic hello world program, with a twist - prints a message * from the command line at every Place. * The messages from each Place may appear in any order, but the * finish ensures that the last message printed will be "Goodbye" * * Typical output: * [dgrove@linchen samples]$ ./HelloWholeWorld 'best wishes' * Place(1) says hello and best wishes * Place(2) says hello and best wishes * Place(3) says hello and best wishes * Place(0) says hello and best wishes * Goodbye * [dgrove@linchen samples]$ */ class HelloWholeWorld { public static def main(args:Rail[String]):void { if (args.size < 1) { Console.OUT.println("Usage: HelloWholeWorld message"); return; } finish for (p in Place.places()) { at (p) async Console.OUT.println(here+" says hello and "+args(0)); } Console.OUT.println("Goodbye"); } }