Terminal control/Clear the screen: Difference between revisions

m
→‎{{header|Wren}}: Changed to Wren S/H
m (→‎{{header|Wren}}: Changed to Wren S/H)
 
(7 intermediate revisions by 7 users not shown)
Line 9:
{{trans|Python}}
To clear the screen on Windows, replace 'clear' with 'cls'
<syntaxhighlight lang ="11l">os:(‘clear’)</langsyntaxhighlight>
 
=={{header|6502 Assembly}}==
Line 23:
SYS680
</pre>
<langsyntaxhighlight lang="6502asm">; C64 - Terminal control: Clear the screen
 
; *** labels ***
Line 42:
clr .byte $93 ; the CLR control code
; see https://en.wikipedia.org/wiki/PETSCII
</syntaxhighlight>
</lang>
===6502js/6502asm/easy6502===
{{works with|http://www.6502asm.com/ 6502asm.com|1.2}}
{{works with|http://www.6502asm.com/beta/index.html 6502asm.com|1.5 beta}}
The 6502asm.com emulator has a 32x32 pixel screen. First we fill this screen with random colored pixels, wait for a keypress and then "clear" the screen (fill it with black pixels).
<langsyntaxhighlight lang="6502asm">; 6502asm.com - Clear the screen
 
lda #$00 ; store the start address of the screen ($200)
Line 78:
inx
bne clearscreen
</syntaxhighlight>
</lang>
===Nintendo Entertainment System===
It's best to do this during forced blank (i.e. display is inactive), as this loop is most likely too slow to finish before vBlank is over. This code assumes that your game's character ROM has a "blank" tile at tile index $00. If it doesn't, use whatever index you consider to be a "blank tile." Also, this only clears the top-left nametable, which is all the user can see if no scrolling has taken place. If the scroll position of the screen isn't (0,0), there will still be graphics left over on screen.
 
<langsyntaxhighlight lang="6502asm">clearVRAM:
PHA
LDA #$20 ;load the vram address of the top-left nametable
Line 97:
DEX
BNE loop
RTS</langsyntaxhighlight>
 
=={{header|68000 Assembly}}==
Line 104:
 
The registers <code>D0</code>, <code>D1</code>, and <code>A0</code> will be clobbered after returning, so keep that in mind.
<langsyntaxhighlight lang="68000devpac">JSR $C004C2 ;clear the FIX layer
JSR $C004C8 ;clear hardware sprites</langsyntaxhighlight>
 
===Sega Genesis===
Line 119:
 
 
<langsyntaxhighlight lang="68000devpac">dma_fill:
;input:
;D2.L = what address to write to.
Line 173:
move.w #$8F02,(vdp_ctrl) ;set auto-inc back to 2
MOVEM.L (SP)+,D3-D7
RTR</langsyntaxhighlight>
 
=={{header|8080 Assembly}}==
Line 183:
output, as CP/M was the de facto standard operating system for 8080-based systems.
 
<langsyntaxhighlight lang="8080asm">putch: equ 2 ; CP/M 'putchar' syscall
bdos: equ 5 ; CP/M BDOS entry point
FF: equ 12 ; ASCII form feed
Line 189:
mvi c,putch ; Print character (syscall goes in C register)
mvi e,FF ; Form feed (argument goes in E register)
jmp bdos ; Call CP/M BDOS and quit</langsyntaxhighlight>
 
=={{header|AArch64 Assembly}}==
{{works with|as|Raspberry Pi 3B version Buster 64 bits}}
<syntaxhighlight lang="aarch64 assembly">
<lang AArch64 Assembly>
/* ARM assembly AARCH64 Raspberry PI 3B */
/* program clearScreen.s */
Line 248:
/* for this file see task include a file in language AArch64 assembly */
.include "../includeARM64.inc"
</syntaxhighlight>
</lang>
 
=={{header|Action!}}==
<langsyntaxhighlight Actionlang="action!">proc Main()
Put(125)
return</langsyntaxhighlight>
 
 
Line 260:
For systems with ANSI terminal handling:
 
<langsyntaxhighlight Adalang="ada">with Ada.Text_IO;
procedure CLS is
begin
Ada.Text_IO.Put(ASCII.ESC & "[2J");
end CLS;</langsyntaxhighlight>
 
=={{header|ALGOL 68}}==
{{works with|ALGOL 68G|Any - tested with release 2.8.3.win32}}
Uses the Algol 68G interface to the curses library.
<langsyntaxhighlight lang="algol68">curses start; # needed before any screen clearing, positioning etc. #
curses clear # clear the screen #</langsyntaxhighlight>
 
=={{header|ARM Assembly}}==
{{works with|as|Raspberry Pi}}
<syntaxhighlight lang="arm assembly">
<lang ARM Assembly>
 
/* ARM assembly Raspberry PI */
Line 342:
bx lr @ return
 
</syntaxhighlight>
</lang>
 
=={{header|Arturo}}==
<syntaxhighlight lang ="rebol">clear</langsyntaxhighlight>
 
=={{header|AutoHotkey}}==
Reference: http://www.autohotkey.com/forum/topic76532.html
<syntaxhighlight lang AHK="ahk">RunWait %comspec% /c cls</langsyntaxhighlight>
 
=={{header|AWK}}==
<langsyntaxhighlight lang="awk">system("clear")</langsyntaxhighlight>
 
=={{header|Axe}}==
<syntaxhighlight lang ="axe">ClrHome</langsyntaxhighlight>
 
=={{header|BaCon}}==
<syntaxhighlight lang ="freebasic">CLEAR</langsyntaxhighlight>
 
=={{header|BASIC}}==
Line 366:
{{works with|ZX Spectrum Basic}}
{{works with|BBC BASIC}}
<syntaxhighlight lang ="qbasic">CLS</langsyntaxhighlight>
 
==={{header|Applesoft BASIC}}===
<syntaxhighlight lang ApplesoftBasic="applesoftbasic">HOME</langsyntaxhighlight>
 
==={{header|Aquarius BASIC}}===
<syntaxhighlight lang="aquarius Aquarius Basicbasic">PRINT CHR$(11);</langsyntaxhighlight>
 
==={{header|Atari BASIC}}===
<syntaxhighlight lang="atari Atari Basicbasic">PRINT CHR$(125);</langsyntaxhighlight>
 
==={{header|BASIC256}}===
<langsyntaxhighlight BASIC256lang="basic256"> cls
#Borra la ventana de texto</langsyntaxhighlight>
y
<langsyntaxhighlight BASIC256lang="basic256"> clg
#Borra la ventana de gráficos</langsyntaxhighlight>
 
==={{header|BBC BASIC}}===
<syntaxhighlight lang ="bbcbasic"> CLS</langsyntaxhighlight>
or
<syntaxhighlight lang ="bbcbasic"> VDU 12</langsyntaxhighlight>
or
<langsyntaxhighlight lang="bbcbasic"> PRINT CHR$(12);</langsyntaxhighlight>
 
==={{header|Commodore BASIC}}===
<syntaxhighlight lang="commodore Commodore Basicbasic">PRINT CHR$(147);</langsyntaxhighlight>
 
{{works with|Commodore BASIC|3.5,7.0}}
(Also works on a VIC-20 with the SuperExpander cartridge)
 
<syntaxhighlight lang ="basic">SCNCLR</langsyntaxhighlight>
 
==={{header|GW-BASIC}}===
<syntaxhighlight lang ="qbasic">10 CLS</langsyntaxhighlight>
 
==={{header|IS-BASIC}}===
<syntaxhighlight lang IS="is-BASICbasic">100 CLEAR SCREEN</langsyntaxhighlight>
 
==={{header|PureBasic}}===
Clears the whole console content using the current background color.
<syntaxhighlight lang PureBasic="purebasic">ClearConsole()</langsyntaxhighlight>
 
==={{header|True BASIC}}===
<langsyntaxhighlight lang="truebasic">CLEAR
END</langsyntaxhighlight>
 
=={{header|Batch File}}==
 
<syntaxhighlight lang ="command">CLS</langsyntaxhighlight>
 
=={{header|beeswax}}==
Line 421:
Using the ANSI escape sequence <code>Esc[2J</code>.
 
<syntaxhighlight lang ="beeswax">_3F..}`[2J`</langsyntaxhighlight>
 
=={{header|Befunge}}==
Assuming a terminal with support for ANSI escape sequences.
<langsyntaxhighlight lang="befunge">"J2["39*,,,,@</langsyntaxhighlight>
 
=={{header|Blast}}==
 
<syntaxhighlight lang ="blast">clear</langsyntaxhighlight>
 
=={{header|Blue}}==
Line 435:
Linux/x86
 
<langsyntaxhighlight lang="blue">global _start
 
: syscall ( num:eax -- result:eax ) syscall ;
Line 449:
: clear-screen ( -- ) s" \033[2J\033[H" print ;
 
: _start ( -- noret ) clear-screen bye ;</langsyntaxhighlight>
 
=={{header|Bracmat}}==
<syntaxhighlight lang ="bracmat">sys$cls&</langsyntaxhighlight>
 
=={{header|C}} / {{header|C++}}==
Line 459:
If perhaps clear screen isn't used, call the function <code>cls</code> to do the trick.
 
<langsyntaxhighlight Clang="c">void cls(void) {
printf("\33[2J");
}</langsyntaxhighlight>
 
Here is the cheaty way no one likes, only works on Windows.
 
<langsyntaxhighlight Clang="c">#include <stdio.h>
#include <stdlib.h>
 
Line 472:
getchar();
system("cls");
}</langsyntaxhighlight>
 
For Unix-likes, changing the above <code>system("cls");</code> to <code>system("clear");</code> usually works, however the <code>getchar();</code> perhaps doesn't always work as expected if you press anything other than return. This is because of the raw vs. cooked terminal mode thing.
 
=={{header|C sharp|C#}}==
<syntaxhighlight lang ="csharp">System.Console.Clear();</langsyntaxhighlight>
Works on all .NET Core platforms. Throws an exception if output has been redirected to a file.
 
=={{header|COBOL}}==
<langsyntaxhighlight lang="cobol"> PROGRAM-ID. blank-terminal.
DATA DIVISION.
Line 491:
 
GOBACK
.</langsyntaxhighlight>
 
=={{header|Comal}}==
<syntaxhighlight lang Comal="comal">PAGE</langsyntaxhighlight>
 
=={{header|Common Lisp}}==
<langsyntaxhighlight lang="lisp">
(format t "~C[2J" #\Esc)
</syntaxhighlight>
</lang>
or it could be done passing the 'clear' command to the shell
<langsyntaxhighlight lang="lisp">
(defun sh (cmd)
"A multi-implementation function equivalent for the C function system"
Line 509:
#+clozure (ccl:run-program "/bin/sh" (list "-c" cmd) :input nil :output *standard-output*))
(sh "clear")
</syntaxhighlight>
</lang>
 
==={{header|ncurses}}===
When the ncurses terminal library is used, characters are displayed on an alternate screen. Clearing that alternate screen does not clear the main screen of the terminal from which ncurses was started. To interface ncurses from Lisp, the ''croatoan'' library is used.
<langsyntaxhighlight lang="lisp">(defun clear-test ()
;; starting ncurses enters the alternate screen buffer of the terminal
(with-screen (scr :input-echoing nil :input-blocking t)
Line 523:
(refresh scr)
(get-char scr)))
;; leaving ncurses returns the terminal to the main screen buffer</langsyntaxhighlight>
 
=={{header|D}}==
<langsyntaxhighlight lang="d">extern (C) nothrow {
void disp_open();
void disp_move(int, int);
Line 538:
disp_eeop();
disp_close();
}</langsyntaxhighlight>
 
=={{header|Dc}}==
===Using external "clear" binary===
Dc's command to execute shell commands can only be the last command of a line. That's no problem with multi line Dc programs but not very helpful in Dc oneliners:
<syntaxhighlight lang ="dc">!clear</langsyntaxhighlight>
Luckily there is a loophole:
<syntaxhighlight lang ="dc">[ !clear ] x</langsyntaxhighlight>
 
===Using a terminal control sequence===
Line 551:
could be to home the cursor ("ESC[H", "1B 5B 48") and then clear to the end of the
screen ("ESC[J", "1B 5B 4A").
<syntaxhighlight lang ="dc">16i 1B5B481B5B4A P</langsyntaxhighlight>
=={{header|Delphi}}==
{{libheader| System.SysUtils}}
Line 557:
===Stand alone function===
Copy of David Heffrnan on stackoverflow [https://stackoverflow.com/questions/29794559/delphi-console-xe7-clearscreen].
<syntaxhighlight lang="delphi">
<lang Delphi>
uses
System.SysUtils,
Line 581:
NumWritten));
Win32Check(SetConsoleCursorPosition(stdout, Origin));
end;</langsyntaxhighlight>
===Library System.Console from Jens Borrisholt===
{{libheader| System.Console}}
The System.Console can be found here[https://github.com/JensBorrisholt/DelphiConsole/tree/master/Console]
<syntaxhighlight lang Delphi="delphi">console.Clear;</langsyntaxhighlight>
=={{header|Elena}}==
ELENA 3.4 :
<langsyntaxhighlight lang="elena">public program()
{
console.clear()
}</langsyntaxhighlight>
 
=={{header|Erlang}}==
<syntaxhighlight lang="erlang">
<lang Erlang>
clear()->io:format(os:cmd("clear")).
</syntaxhighlight>
</lang>
 
=={{header|Euphoria}}==
<syntaxhighlight lang Euphoria="euphoria">clear_screen()</langsyntaxhighlight>
 
=={{header|F_Sharp|F#}}==
<langsyntaxhighlight lang="fsharp">open System
 
Console.Clear()</langsyntaxhighlight>
 
=={{header|Forth}}==
<syntaxhighlight lang ="forth">page</langsyntaxhighlight>
 
=={{header|Fortran}}==
'''Fortran 2008''':
<langsyntaxhighlight lang="fortran">program clear
character(len=:), allocatable :: clear_command
clear_command = "clear" !"cls" on Windows, "clear" on Linux and alike
call execute_command_line(clear_command)
end program</langsyntaxhighlight>
 
=== Intel Fortran on Windows ===
Using console functions, one can also clear the screen without using a system command. See also ''[https://msdn.microsoft.com/en-us/library/ms682022.aspx Clearing the Screen]'' on MSDN.
 
<langsyntaxhighlight lang="fortran">program clear
use kernel32
implicit none
Line 647:
if (SetConsoleCursorPosition(hConsole, coordScreen) == 0) return
end subroutine
end program</langsyntaxhighlight>
 
=== GNU Fortran on Windows ===
The preceding program can be compiled with GNU Fortran, with the following interface module for Windows API.
 
<langsyntaxhighlight lang="fortran">module kernel32
use iso_c_binding
implicit none
Line 748:
end interface
end module
</syntaxhighlight>
</lang>
 
=={{header|FreeBASIC}}==
<langsyntaxhighlight lang="freebasic">' FB 1.05.0 Win64
 
' FreeBASIC has a built in Cls command which clears the console on Windows
Line 758:
 
Shell("Cls")
Sleep</langsyntaxhighlight>
 
=={{header|Furor}}==
<syntaxhighlight lang="furor">
<lang go>
cls
</syntaxhighlight>
</lang>
Yet another solution:
<syntaxhighlight lang="furor">
<lang go>
."\z"
</syntaxhighlight>
</lang>
 
 
=={{header|Peri}}==
<syntaxhighlight lang="peri">
###sysinclude system.uh
cls
</syntaxhighlight>
Yet another solution:
<syntaxhighlight lang="peri">
."\z"
</syntaxhighlight>
 
=={{header|Go}}==
===External command===
Probably most reliable way to clear the screen.
<langsyntaxhighlight lang="go">package main
 
import (
Line 785 ⟶ 793:
c.Stdout = os.Stdout
c.Run()
}</langsyntaxhighlight>
 
===ANSI escape code===
Simplest, if your terminal supports the ANSI code you want.
<langsyntaxhighlight lang="go">package main
 
import "fmt"
Line 795 ⟶ 803:
func main() {
fmt.Print("\033[2J")
}</langsyntaxhighlight>
===Ncurses===
More complex, but works across multiple terminal types.
{{libheader|curses}}
<langsyntaxhighlight lang="go">package main
 
import (
Line 823 ⟶ 831:
// GetChar() allows you to see the effect of the program before it exits.
s.GetChar() // press any key to continue
}</langsyntaxhighlight>
 
=={{header|GUISS}}==
This will only work if the terminal is sitting at a prompt.
<syntaxhighlight lang ="guiss">Window:Terminal,Type:clear[enter]</langsyntaxhighlight>
 
=={{header|Haskell}}==
 
<syntaxhighlight lang="haskell">
<lang Haskell>
import System.Console.ANSI
 
main = clearScreen
</syntaxhighlight>
</lang>
 
=={{header|Icon}} and {{header|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.
<langsyntaxhighlight Iconlang="icon">procedure main ()
if &features == "MS Windows" then system("cls") # Windows
else if &features == "UNIX" then system("clear") # Unix
end</langsyntaxhighlight>
 
=={{header|J}}==
Note: this is specific the java+gdi based J ide.
<syntaxhighlight lang ="j">smwrite_jijs_ ''</langsyntaxhighlight>
 
=={{header|Java}}==
Using the ANSI escape sequence:
<langsyntaxhighlight lang="java">public class Clear
{
public static void main (String[] args)
Line 856 ⟶ 864:
System.out.print("\033[2J");
}
}</langsyntaxhighlight>
An alternative sequence:
<langsyntaxhighlight lang="java">public class Clear
{
public static void main (String[] args)
Line 864 ⟶ 872:
System.out.print("\033\143");
}
}</langsyntaxhighlight>
 
=={{header|jq}}==
<langsyntaxhighlight lang="jq">"\u001B[2J"</langsyntaxhighlight>
'''Example''':
<langsyntaxhighlight lang="sh">$ jq -nnr '"\u001B[2J"'</langsyntaxhighlight>
 
=={{header|Jsish}}==
Using ANSI terminal control codes.
<langsyntaxhighlight lang="javascript">/* Terminal Control, clear the screen, in Jsish */
function cls() { printf('\u001b[2J'); }
 
Line 882 ⟶ 890:
cls() ==> ^[[2Jundefined
=!EXPECTEND!=
*/</langsyntaxhighlight>
 
{{out}}
Line 889 ⟶ 897:
 
=={{header|Julia}}==
<langsyntaxhighlight lang="julia">
println("\33[2J")
</syntaxhighlight>
</lang>
 
=={{header|Kotlin}}==
{{works with|Ubuntu|14.04}}
<langsyntaxhighlight lang="scala">// version 1.1.2
 
fun main(args: Array<String>) {
println("\u001Bc") // Esc + c
}</langsyntaxhighlight>
 
=={{header|Lang}}==
<syntaxhighlight lang="lang">
# \E is an escape sequence for the ESC ascii code
fn.println(\E[2J)
</syntaxhighlight>
 
=={{header|Lasso}}==
<langsyntaxhighlight Lassolang="lasso">local(
esc = decode_base64('Gw==')
)
 
stdout(#esc + '[2J')</langsyntaxhighlight>
 
=={{header|Logo}}==
<syntaxhighlight lang ="logo">cleartext</langsyntaxhighlight>
There is a separate command to reset the turtle graphics window.
<langsyntaxhighlight lang="logo">clearscreen
cs ; abbreviation for clearscreen
clean ; like cs, but doesn't reset turtle position</langsyntaxhighlight>
 
=={{header|Lua}}==
 
===Unix, Linux===
<langsyntaxhighlight lang="lua">os.execute( "clear" )</langsyntaxhighlight>
 
===Windows===
<langsyntaxhighlight lang="lua">os.execute( "cls" )</langsyntaxhighlight>
 
=={{header|M2000 Interpreter}}==
We can clear the screen with Form, Cls, Window statements. Each one perform something on the console form except clear it. Form change the size of letters using the size of window. Window change all. Cls change the background color, or use the same (is optional) and optional can set the line for the split screen (from that line we have scrolling). Also we can use Linespace statement (in twips) to set the line space. Statement Form set linespace automatic to give space between lines to full use of the window.
 
<syntaxhighlight lang="m2000 interpreter">
<lang M2000 Interpreter>
Module Checkit {
Pen 14 ' yellow
Line 959 ⟶ 973:
}
checkit
</syntaxhighlight>
</lang>
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
Delegating to clear on terminal enabled OS(Mac Os, Linux)
<langsyntaxhighlight Mathematicalang="mathematica">Run["clear"];</langsyntaxhighlight>
 
=={{header|min}}==
<syntaxhighlight lang="min">clear</syntaxhighlight>
 
=={{header|Nanoquery}}==
<syntaxhighlight lang ="nanoquery">cls</langsyntaxhighlight>
 
=={{header|Nemerle}}==
Exactly as [[Terminal_control/Clear_the_screen#C.23|C#]]. Because of possible (probable) ambiguity, this is one time it may be prudent to use:
<syntaxhighlight lang Nemerle="nemerle">Console.Clear();</langsyntaxhighlight>
rather than importing the <tt>Console</tt> class with <tt>using System.Console;</tt> and calling as:
<syntaxhighlight lang Nemerle="nemerle">Clear();</langsyntaxhighlight>
 
=={{header|NewLISP}}==
<syntaxhighlight lang="newlisp">
<lang NewLISP>
(! "clear")
</syntaxhighlight>
</lang>
In the newLISP command shell, this syntax is also proper:
<syntaxhighlight lang="newlisp">
<lang NewLISP>
!clear
</syntaxhighlight>
</lang>
 
=={{header|Nim}}==
<langsyntaxhighlight lang="nim">
import terminal
 
eraseScreen() #puts cursor at down
setCursorPos(0, 0)
</syntaxhighlight>
</lang>
 
=={{header|NS-HUBASIC}}==
<syntaxhighlight lang NS="ns-HUBASIChubasic">10 CLS</langsyntaxhighlight>
 
=={{header|OCaml}}==
Line 998 ⟶ 1,015:
Using the library [http://forge.ocamlcore.org/projects/ansiterminal/ ANSITerminal]:
 
<langsyntaxhighlight lang="ocaml">#load "unix.cma"
#directory "+ANSITerminal"
#load "ANSITerminal.cma"
Line 1,004 ⟶ 1,021:
 
let () =
erase Screen</langsyntaxhighlight>
 
=={{header|Octave}}==
<syntaxhighlight lang Octave="octave"> system clear;</langsyntaxhighlight>
<syntaxhighlight lang Octave="octave"> system('clear');</langsyntaxhighlight>
 
=={{header|Pascal}}==
 
<syntaxhighlight lang Pascal="pascal">clrscr;</langsyntaxhighlight>
<syntaxhighlight lang Pascal="pascal">page(output); { UCSD Pascal }</langsyntaxhighlight>
 
=={{header|Perl}}==
Assuming some ANSI terminal, easiest way is call your system's clear command:
<syntaxhighlight lang ="perl">system('clear')</langsyntaxhighlight>
 
If it's needed often:
<langsyntaxhighlight lang="perl">$clear = `clear`; # clear simply prints some escape sequence, cache it
#... later:
print $clear;</langsyntaxhighlight>
 
We can also obtain the sequence using the Term::Cap module:
 
<langsyntaxhighlight lang="perl">use Term::Cap;
 
$terminal = Term::Cap->Tgetent();
$clear = $terminal->Tputs('cl');
print $clear;</langsyntaxhighlight>
 
<langsyntaxhighlight lang="perl">#on Windows using Powershell or WT.exe
system('cls');</langsyntaxhighlight>
 
=={{header|Phix}}==
<!--<langsyntaxhighlight Phixlang="phix">(phixonline)-->
<span style="color: #7060A8;">clear_screen</span><span style="color: #0000FF;">()</span>
<!--</langsyntaxhighlight>-->
 
=={{header|PicoLisp}}==
<syntaxhighlight lang PicoLisp="picolisp">(call 'clear)</langsyntaxhighlight>
 
=={{header|Pike}}==
<langsyntaxhighlight Pikelang="pike">int main() {
Process.system("clear");
return 0;
}</langsyntaxhighlight>
 
Use "cls" instead of "clear" for Windows
 
=={{header|PowerShell}}==
<syntaxhighlight lang ="powershell">Clear-Host</langsyntaxhighlight>
 
=={{header|ProDOS}}==
<syntaxhighlight lang ProDOS="prodos">clearscurrentscreentext</langsyntaxhighlight>
 
=={{header|Python}}==
Line 1,063 ⟶ 1,080:
To clear the screen on Windows, replace 'clear' with 'cls'
 
<langsyntaxhighlight lang="python">import os
os.system("clear")</langsyntaxhighlight>
 
Or similar to C example (won't work in Winsows console, since it does not recognize ANSI sequences):
 
<langsyntaxhighlight lang="python">print "\33[2J"</langsyntaxhighlight>
 
On Windows, using functions from the kernel32 DLL:
 
<langsyntaxhighlight lang="python">from ctypes import *
 
STD_OUTPUT_HANDLE = -11
Line 1,109 ⟶ 1,126:
windll.kernel32.SetConsoleCursorPosition(h, scr)
 
clear_console()</langsyntaxhighlight>
 
=={{header|Quackery}}==
Line 1,118 ⟶ 1,135:
On some platforms the screen will not be cleared until the output buffer is flushed e.g. by a cr/lf.
 
<langsyntaxhighlight Quackerylang="quackery"> [ $ &print("\33[2J",end='')& python ] is clearscreen</langsyntaxhighlight>
 
=={{header|R}}==
<langsyntaxhighlight Rlang="r">cat("\33[2J")</langsyntaxhighlight>
Or with system calls
<langsyntaxhighlight Rlang="r"># Unix
system("clear")
# Windows
system("cls")</langsyntaxhighlight>
 
=={{header|Racket}}==
<langsyntaxhighlight lang="racket">
#lang racket
(require (planet neil/charterm:3:0))
(with-charterm
(void (charterm-clear-screen)))
</syntaxhighlight>
</lang>
 
=={{header|Raku}}==
(formerly Perl 6)
<syntaxhighlight lang="raku" perl6line>sub clear { print qx[clear] }
clear;</langsyntaxhighlight>
 
=={{header|Retro}}==
<syntaxhighlight lang Retro="retro">clear</langsyntaxhighlight>
 
=={{header|REXX}}==
Line 1,173 ⟶ 1,190:
 
<br>The intent of the program's boilerplate code is to be able to be executed under most REXXes under most operating systems without changing the boilerplate REXX code.
<langsyntaxhighlight lang="rexx">/*REXX boilerplate determines how to clear screen (under various REXXes)*/
trace off; parse arg ! /*turn off tracing; get C.L. args*/
if !all(arg()) then exit /*Doc request? Show, then exit.*/
Line 1,188 ⟶ 1,205:
!rex: parse upper version !ver !vernum !verdate .; !brexx='BY'==!vernum; !kexx='KEXX'==!ver; !pcrexx='REXX/PERSONAL'==!ver|'REXX/PC'==!ver; !r4='REXX-R4'==!ver; !regina='REXX-REGINA'==left(!ver,11); !roo='REXX-ROO'==!ver; call !env; return
!sys: !cms=!sys=='CMS'; !os2=!sys=='OS2'; !tso=!sys=='TSO'|!sys=='MVS'; !vse=!sys=='VSE'; !dos=pos('DOS',!sys)\==0|pos('WIN',!sys)\==0|!sys=='CMD'; !crx=left(!sys,6)=='DOSCRX'; call !rex; return
!var: call !fid; if !kexx then return space(dosenv(arg(1))); return space(value(arg(1),,!env))</langsyntaxhighlight>
 
===Regina===
Line 1,195 ⟶ 1,212:
 
=={{header|Ring}}==
<syntaxhighlight lang Ring="ring">system('clear')</langsyntaxhighlight>
 
=={{header|RPL}}==
CLLCD
 
=={{header|Ruby}}==
<syntaxhighlight lang Ruby="ruby">system 'clear'</langsyntaxhighlight>
 
Or, without reliance on the command line:
(equivalent to <code>`clear`</code>)
<langsyntaxhighlight Rubylang="ruby">puts "\e[H\e[2J"</langsyntaxhighlight>
Probably more platform-independent:
<syntaxhighlight lang="ruby">require 'io/console'
STDOUT.clear_screen
</syntaxhighlight>
 
=={{header|Rust}}==
<langsyntaxhighlight lang="rust">print!("\x1B[2J");</langsyntaxhighlight>
 
Or using casting:
 
<langsyntaxhighlight lang="rust">print!("{}[2J", 27 as char);</langsyntaxhighlight>
 
=={{header|Scala}}==
{{libheader|Scala}}
<langsyntaxhighlight Scalalang="scala">object Cls extends App {print("\033[2J")}</langsyntaxhighlight>
 
=={{header|Seed7}}==
Line 1,224 ⟶ 1,248:
since not all terminals accept them.
 
<langsyntaxhighlight lang="seed7">$ include "seed7_05.s7i";
include "console.s7i";
 
Line 1,237 ⟶ 1,261:
# the program waits until Return/Enter is pressed.
readln;
end func;</langsyntaxhighlight>
 
=={{header|Sidef}}==
Using a cached-function:
<langsyntaxhighlight lang="ruby">func clear { print(static x = `clear`) };
clear();</langsyntaxhighlight>
 
Directly invoking the `clear` command:
<syntaxhighlight lang ="ruby">Sys.run('clear');</langsyntaxhighlight>
 
Alternatively, without reliance on the command line:
<langsyntaxhighlight lang="ruby">print "\e[3J\e[H\e[2J";</langsyntaxhighlight>
 
=={{header|Smalltalk}}==
<syntaxhighlight lang ="smalltalk">Transcript clear.</langsyntaxhighlight>
 
=={{header|SmileBASIC}}==
Line 1,257 ⟶ 1,281:
===Text screen only===
To clear just the text screen:
<syntaxhighlight lang ="smilebasic">CLS</langsyntaxhighlight>
===All screens===
Clearing all of the screens, and resetting display options can be done with:
<syntaxhighlight lang ="smilebasic">ACLS</langsyntaxhighlight>
 
=={{header|SPL}}==
<syntaxhighlight lang ="spl">#.clear()</langsyntaxhighlight>
 
=={{header|Standard ML}}==
{{works with|Unix}}
<langsyntaxhighlight lang="sml">fun clearScreen () =
let
val strm = TextIO.openOut (Posix.ProcEnv.ctermid ())
Line 1,273 ⟶ 1,297:
TextIO.output (strm, "\^[[H\^[[2J");
TextIO.closeOut strm
end</langsyntaxhighlight>
 
=={{header|Stata}}==
Line 1,281 ⟶ 1,305:
=={{header|Tcl}}==
This only works on systems with ANSI terminal handling, i.e., Unix platforms.
<langsyntaxhighlight lang="tcl">puts -nonewline "\033\[2J"
flush stdout</langsyntaxhighlight>
 
=={{header|UNIX Shell}}==
Line 1,290 ⟶ 1,314:
{{works with|Bourne Shell}}
 
<langsyntaxhighlight lang="bash">clear
 
# Alternative method using tput
tput clear</langsyntaxhighlight>
 
=={{header|Visual Basic .NET}}==
<syntaxhighlight lang ="vbnet">System.Console.Clear()</langsyntaxhighlight>
Works on all .NET Core platforms. Throws an exception if output has been redirected to a file.
 
=={{header|Wren}}==
<langsyntaxhighlight ecmascriptlang="wren">System.print("\e[2J")</langsyntaxhighlight>
 
=={{header|XPL0}}==
<langsyntaxhighlight XPL0lang="xpl0">code Clear=40;
Clear;</langsyntaxhighlight>
 
=={{header|Yabasic}}==
<syntaxhighlight lang Yabasic="yabasic">clear screen</langsyntaxhighlight>
 
=={{header|zkl}}==
<langsyntaxhighlight lang="zkl">System.cmd(System.isWindows and "cls" or "clear");
// or, for ANSI terminals: print("\e[2J")</langsyntaxhighlight>
 
{{omit from|ACL2}}
9,476

edits