Hello world/Newline omission: Difference between revisions
Thundergnat (talk | contribs) (→{{header|Perl6}}: Added perl 6 example) |
(added python) |
||
Line 74: | Line 74: | ||
Print("Goodbye, World!") |
Print("Goodbye, World!") |
||
Input() ;wait for enter key to be pressed</lang> |
Input() ;wait for enter key to be pressed</lang> |
||
=={{header|Python}}== |
|||
<lang python>import sys |
|||
sys.stdout.write("Goodbye, World!")</lang> |
|||
{{works with|Python|3.x}} |
|||
<lang python>print("Goodbye, World!", end="")</lang> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |
Revision as of 20:14, 31 July 2011
Some languages automatically insert a newline after outputting a string, unless measures are taken to prevent its output. The purpose of this task is to output the string "Goodbye, World!" preventing a trailing newline from occuring.
See also
BASIC
<lang basic>10 REM The trailing semicolon prevents a newline 20 PRINT "Goodbye, World!";</lang>
C
In C, we do not get a newline unless we embed one: <lang c>#include <stdio.h>
int main(int argc, char *argv[]) {
(void) printf("Goodbye, World!"); /* No automatic newline */ return EXIT_SUCCESS;
}</lang>
C++
In C++, using iostreams, portable newlines come from std::endl. Non-portable newlines may come from using constructs like \n, \r or \r\n. If we don't use any of these, we won't get a newline. <lang cpp>#include <iostreams>
int main(int argc, char *argv[]) {
std::cout << "Goodbye, World!";
}</lang>
C#
<lang csharp>using System;
class Program {
static void Main (string[] args) { //Using Console.WriteLine() will append a newline Console.WriteLine("Goodbye, World!");
//Using Console.Write() will not append a newline Console.Write("Goodbye, World!"); }
}</lang>
GUISS
In Graphical User Interface Support Script, we specify a newline, if we want one. The following will not produce a newline: <lang GUISS>Start,Programs,Accessories,Notepad,Type:Goodbye World[pling]</lang>
Icon and Unicon
Native output in Icon and Unicon is performed via the write and writes procedures. The write procedure terminates each line with both a return and newline (for consistency across platforms). The writes procedure omits this. Additionally, the programming library has a series of printf procedures as well. <lang Icon>procedure main()
writes("Goodbye, World!")
end</lang>
OCaml
In OCaml, the function print_endline
prints a string followed by a newline character on the standard output and flush the standard output. And the function print_string
just prints a string with nothing additional.
<lang ocaml>print_string "Goodbye, World!"</lang>
PARI/GP
<lang parigp>print1("Goodbye, World!")</lang>
Perl
<lang perl>print "Goodbye, World!"; # A newline does not occur automatically</lang>
Perl 6
A newline is not added automatically to print or printf <lang perl6>print "Goodbye, World!"; printf "%s", "Goodbye, World!";</lang>
PureBasic
<lang PureBasic>OpenConsole() Print("Goodbye, World!") Input() ;wait for enter key to be pressed</lang>
Python
<lang python>import sys sys.stdout.write("Goodbye, World!")</lang>
<lang python>print("Goodbye, World!", end="")</lang>
Tcl
<lang tcl>puts -nonewline "Goodbye, World!"</lang>
UNIX Shell
The behaviour of echo command is inconsistent across implementations. The -n parameter is not guaranteed to prevent a newline from occuring, so use a printf instead: <lang sh>echo -n "Goodbye World!" # This may not work printf "Goodbye, World!" # This works. newline is not automatically produced</lang>
ZX Spectrum Basic
<lang basic>10 REM The trailing semicolon prevents a newline 20 PRINT "Goodbye, World!";</lang>