Hello world/Line printer: Difference between revisions

From Rosetta Code
Content added Content deleted
Line 71: Line 71:


=={{header|Python}}==
=={{header|Python}}==
{{incorrect|Python|Outputs to stdout.}}
<lang python>print "Hello World!"</lang>
<lang python>print "Hello World!"</lang>



Revision as of 10:02, 6 December 2010

Task
Hello world/Line printer
You are encouraged to solve this task according to the task description, using any language you may know.

Cause a line printer attached to the computer to print a line containing the message Hello World!

BASIC

Works with: QBasic
Works with: ZX Spectrum Basic

<lang qbasic>LPRINT "Hello World!"</lang>

Batch File

<lang dos>ECHO Hello world!>PRN</lang>

C++

This example is incorrect. Please fix the code and remove this message.

Details: Outputs to stdout

<lang cpp>#include <iostream>

int main() {

   std::cout << "Hello world!" << std::endl; // std::endl provides a portable descriptor for line ending.
   return 0;

}</lang>

Factor

<lang factor> USE: io IN: hello-world

hello ( -- ) "Hello World!" print ;

MAIN: hello</lang>

when you want a fully working program or in the listener:

<lang factor>"Hello World!" print</lang>

Haskell

<lang haskell> import System.Cmd

cmd = "echo \"Hello World!\" | lpr"

main = system cmd </lang>

J

<lang j>require'print' print'Hello world!'</lang>

PicoLisp

<lang PicoLisp>(out '(lpr "-P" "Printer01")

  (prinl "Hello world") )</lang>

PureBasic

Library: PureLPRINT

<lang PureBasic>MyPrinter$ = LPRINT_GetDefaultPrinter() If LPRINT_OpenPrinter(MyPrinter$)

 If LPRINT_StartDoc("Printing a RC-Task")
   LPRINT_Print(Chr(27) + "E") ; PCL reset for HP Printers
   LPRINT_PrintN("Hello World!")
   LPRINT_NewPage()
   LPRINT_EndDoc()
 EndIf
 LPRINT_ClosePrinter()  

EndIf</lang>

Python

This example is incorrect. Please fix the code and remove this message.

Details: Outputs to stdout.

<lang python>print "Hello World!"</lang>

REXX

There is no direct way for REXX programs to write to the printer, but
a shell command could be used.

In DOS (or under Windows): <lang rexx> str='Hello World' '@ECHO' str ">PRN" </lang>

Tcl

Unix

<lang tcl>exec lp << "Hello World!"</lang> <lang tcl>set f [open |lp w] puts $f "Hello World!" close $f</lang>

Windows

<lang tcl>set f [open prn w] puts $f "Hello World!" close $f</lang>

UNIX Shell

Works with: Bourne Shell

<lang bash>echo 'Hello World!'|lp</lang>

Works with: POSIX

Alternately, there are the character devices /dev/lp0, /dev/lp1, /dev/lpN and so on which correspond to line printers (if there are any attached to the system). Data written to these devices is sent to attached printers.

<lang bash>echo 'Hello World' > /dev/lp0</lang>