Terminal control/Clear the screen
![Task](http://static.miraheze.org/rosettacodewiki/thumb/b/ba/Rcode-button-task-crushed.png/64px-Rcode-button-task-crushed.png)
You are encouraged to solve this task according to the task description, using any language you may know.
Clear the terminal window.
Ada
For systems with ANSI terminal handling:
<lang Ada>with Ada.Text_IO; procedure CLS is begin
Ada.Text_IO.Put(ASCII.ESC & "[2J");
end CLS;</lang>
AutoHotkey
Reference: http://www.autohotkey.com/forum/topic76532.html <lang AHK>RunWait %comspec% /c cls</lang>
AWK
<lang awk>system("clear")</lang>
BASIC
<lang qbasic>CLS</lang>
Batch File
<lang command>CLS</lang>
BBC BASIC
<lang bbcbasic> CLS</lang> or <lang bbcbasic> VDU 12</lang> or <lang bbcbasic> PRINT CHR$(12);</lang>
Blast
<lang blast>clear</lang>
Bracmat
<lang bracmat>sys$cls&</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>
Here is the cheaty way no one likes only works on windows <lang C>
- include <stdio.h>
- include <stdlib.h>
void main() {
printf ("clearing screen"); getchar(); System("cls");
}
C#
<lang csharp>System.Console.Clear();</lang>
Euphoria
<lang Euphoria>clear_screen()</lang>
Forth
<lang forth>page</lang>
Go
<lang go>package main
import (
"os" "os/exec"
)
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>
GW-BASIC
<lang qbasic>10 CLS</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>
Logo
<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 because "clear" is not a command
Mathematica
Delegating to clear on terminal enabled OS(Mac Os, Linux) <lang Mathematica>Run["clear"];</lang>
OCaml
Using the library ANSITerminal:
<lang ocaml>#load "unix.cma"
- directory "+ANSITerminal"
- load "ANSITerminal.cma"
open ANSITerminal
let () =
erase Screen</lang>
Octave
<lang Octave> system clear;</lang> <lang Octave> system('clear');</lang>
Pascal
<lang Pascal>clrscr;</lang>
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
- ... later:
print $clear;</lang>
PicoLisp
<lang PicoLisp>(call 'clear)</lang>
PowerShell
<lang powershell>Clear-Host</lang>
ProDOS
<lang ProDOS>clearscurrentscreentext</lang>
PureBasic
Clears the whole console content using the current background color. <lang PureBasic>ClearConsole()</lang>
Python
To clear the screen on windows, replace 'clear' with 'cls'
<lang python> import os os.system('clear') </lang>
or similar to C example
<lang python> print "%c[2J" % (27) </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:
Ruby
<lang Ruby>system 'clear'</lang>
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>
Smalltalk
<lang Smalltalk> Transcript clear. </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:
<lang bash>clear
- Alternative method using tput
tput clear</lang>
XPL0
<lang XPL0>code Clear=40; Clear;</lang>
- Programming Tasks
- Terminal control
- Initialization
- Ada
- AutoHotkey
- AWK
- BASIC
- Batch File
- BBC BASIC
- Blast
- Bracmat
- C
- C sharp
- Euphoria
- Forth
- Go
- GUISS
- GW-BASIC
- Icon
- Unicon
- J
- Logo
- Lua
- Mathematica
- OCaml
- Octave
- Pascal
- Perl
- PicoLisp
- PowerShell
- ProDOS
- PureBasic
- Python
- Retro
- REXX
- Ruby
- Seed7
- Smalltalk
- Tcl
- UNIX Shell
- XPL0
- ACL2/Omit
- Maxima/Omit
- PARI/GP/Omit
- Inform 7/Omit