Terminal control/Clear the screen: Difference between revisions

From Rosetta Code
Content added Content deleted
(Improve description)
m (Fix categories, move them to the top)
Line 1: Line 1:
{{task|Terminal control}}
{{task|Terminal control}}[[Category:Initialization]]
Clear the terminal window.
Clear the terminal window.
[[Terminal Control::task| ]]
[[Terminal Control::task| ]]
Line 173: Line 173:
{{omit from|PARI/GP}}
{{omit from|PARI/GP}}
{{omit from|Inform 7}}
{{omit from|Inform 7}}

[[Category:Terminal Control]]
[[Category:Initialization]]

Revision as of 13:12, 22 August 2011

Task
Terminal control/Clear the screen
You are encouraged to solve this task according to the task description, using any language you may know.

Clear the terminal window.

AWK

<lang awk>system("clear")</lang>

BASIC

Works with: QBasic
Works with: Locomotive Basic
Works with: ZX Spectrum Basic
Works with: BBC BASIC

<lang qbasic>CLS</lang>

Batch File

<lang command>CLS</lang>

Blast

<lang blast>clear</lang>

C

The C version of the Minesweeper game uses curses.

If perhaps clear screen isn't used, call the function cls to do the trick.

<lang C>void cls(void) {

 int printf(char*,...);
 printf("%c[2J",27);

}</lang>

C#

<lang csharp>System.Console.Clear();</lang>

Euphoria

<lang Euphoria>clear_screen()</lang>

Forth

<lang forth>page</lang>

Go

<lang go>package main

import (

   "exec"
   "os"

)

func main() {

   c := exec.Command("clear")
   c.Stdout = os.Stdout
   c.Run()

}</lang>

GUISS

This will only work if the terminal is sitting at a prompt.

<lang guiss>Window:Terminal,Type:clear[enter]</lang>

Icon and Unicon

Example works for both Icon and Unicon. Determine which system command to call by querying &features at run time. Alternately, the related preprocessor symbols can be used to select the operating system.

<lang Icon>procedure main ()

 if &features == "MS Windows" then system("cls")  # Windows
 else if &features == "UNIX" then system("clear") # Unix

end</lang>

J

Note: this is specific the java+gdi based J ide.

<lang j>smwrite_jijs_ </lang>

<lang logo>cleartext</lang> There is a separate command to reset the turtle graphics window. <lang logo>clearscreen cs  ; abbreviation for clearscreen clean  ; like cs, but doesn't reset turtle position</lang>

Lua

<lang lua>os.execute( "clear" )</lang> will not work

Perl

Assuming some ANSI terminal, easiest way is call your system's clear command: <lang perl>system('clear')</lang>

If it's needed often: <lang perl>$clear = `clear`; # clear simply prints some escape sequence, cache it

  1. ... later:

print $clear;</lang>

PicoLisp

<lang PicoLisp>(call 'clear)</lang>

PowerShell

<lang powershell>Clear-Host</lang>

PureBasic

Clears the whole console content using the current background color. <lang PureBasic>ClearConsole()</lang>

Python

Works with: Python version 2.6
Works with: Ubuntu version 10.10

To clear the screen on windows, replace 'clear' with 'cls'

<lang python> import os os.system('clear') </lang>

Retro

<lang Retro>clear</lang>

REXX

The REXX programming language does not include a facility to clear the screen. However, it is possile to execute an external system command to achieve this task:

'clear'

There are also various workarounds which are platform specific:

regina

The regina interpreter supports the rexxcurses plugin, which provides the facility to clear the screen:

Seed7

The function clear is portable and clears the console window. Clear is based on terminfo respectively the Windows console API. A portable function to clear cannot rely on shell respectively cmd.exe commands, because Windows uses CLS and Unix shells use CLEAR, to clear a screen. ANSI terminal escape sequences are also not 100% portable, since not all terminals accept them.

<lang seed7>$ include "seed7_05.s7i";

 include "console.s7i";

const proc: main is func

 local
   var text: console is STD_NULL;
 begin
   console := open(CONSOLE);
   clear(console);
   # Terminal windows often restore the previous
   # content, when a program is terminated. Therefore
   # the program waits until Return/Enter is pressed.
   readln;
 end func;</lang>

Tcl

This only works on systems with ANSI terminal handling, i.e., Unix platforms. <lang tcl>puts -nonewline "\033\[2J" flush stdout</lang>

UNIX Shell

The clear command can be used to clear the terminal screen:

Works with: Bourne Shell
Works with: Bash

<lang sh>clear

  1. Alternative method using tput

tput clear</lang>