Lua 놀이터
Lua Playground
설치 없이 브라우저에서 진짜 Lua 5.4를 실행하세요. wasmoon(WebAssembly) 기반, print 캡처와 반환값 표시, 기본·응용·심화 예제 19종, 자동 채점 미션 10개를 제공해요. Roblox·Redis·Neovim이 사랑하는 그 언어를 바로 체험하세요.
브라우저에서 진짜 Lua 5.4를 실행해요
게임(Roblox)·Redis·Neovim·nginx가 사랑하는 그 언어. 설치 없이 WebAssembly(wasmoon)로 Lua 인터프리터가 통째로 돌아가요. 런타임은 약 270KB로 아주 가벼워요.
먼저 위의 [Lua 시작] 버튼으로 런타임을 불러오세요.
📚 예제 갤러리 (23개)
누르면 에디터에 코드가 채워져요.
🎯 연습 미션
0/10 완료Lua를 시작하면 미션에 도전할 수 있어요.
🌍 Lua는 어디에 쓰일까요?
Roblox
전 세계 수억 명이 즐기는 Roblox의 게임 로직은 Luau(Lua 방언)로 작성돼요. 가장 유명한 Lua 사용처예요.
게임 모드 · 엔진
WoW 애드온, Garry's Mod, LÖVE 엔진 등 수많은 게임이 Lua로 모드와 스크립트를 지원해요.
Redis 스크립트
Redis는 EVAL 명령으로 Lua 스크립트를 서버에서 원자적으로 실행해요. 여러 연산을 한 번에 안전하게 처리하죠.
Neovim
Neovim은 설정과 플러그인을 Lua로 작성해요. 빠른 시작과 강력한 확장성의 비결이에요.
nginx (OpenResty)
OpenResty는 nginx 안에 LuaJIT를 넣어, 웹 서버에서 초고속으로 요청을 가공하고 라우팅해요.
임베디드 · 게임 스크립팅
작고 빠르고 C에 끼워넣기 쉬워서, 메모리가 빠듯한 임베디드 기기와 게임의 스크립트 언어로 사랑받아요.
⚠️ 알아두면 좋아요
인덱스는 1부터 시작해요
대부분의 언어와 달리 Lua 테이블/배열의 첫 번째 인덱스는 0이 아니라 1이에요. t[1]이 첫 원소랍니다.
거짓은 false 와 nil 뿐
0도 빈 문자열("")도 모두 참으로 취급돼요. 조건문에서 특히 조심하세요.
무한 루프는 탭이 멈춰요
코드는 메인 스레드에서 실행돼요. break 없는 while true 처럼 끝나지 않는 코드는 탭 전체가 멈추니 주의하세요.
첫 로드만 잠깐, 이후엔 즉시
Lua 런타임(약 270KB)은 처음 한 번만 내려받고, 그다음부터는 브라우저 캐시에서 바로 시작돼요.
이어서 해볼 도구
같은 흐름으로 이어지는 도구를 골라 두었습니다.
- JS 샌드박스 — 격리된 QuickJS에서 실행신뢰할 수 없는 JavaScript를 브라우저 안에서 안전하게 실행하세요. 브라우저의 eval()은 실행 시간·메모리를 제한할 수 없지만, WASM으로 컴파일된 QuickJS 엔진은 무한 루프 자동 중단(실행 시간 제한), 메모리 제한, 컨텍스트 격리, 호스트 함수 화이트리스트(capability 보안)를 제공합니다. 기본·응용·심화 예제로 클로저, 프로미스, 제너레이터부터 무한 루프·메모리 폭탄 방어까지 직접 체험하세요.
- PHP 놀이터설치 없이 브라우저에서 진짜 PHP 8.3 을 실행하는 플레이그라운드입니다. WordPress Playground 의 WebAssembly 엔진(@php-wasm/web)으로 echo·배열·클래스·enum·제너레이터까지 실제로 돌려보고, 기본/응용/심화 예제 22개와 미션 10개로 익힙니다.
- Java 학습소Java의 핵심과 최신 기능을 예제로 배우는 학습 도구 — OOP, 제네릭·컬렉션, 스트림·람다, 동시성, 모던 Java(record·sealed·switch 패턴). 예제마다 미리 계산한 예상 출력과 3개 국어 설명을 제공합니다. 라이브 JVM은 아닙니다.
- Ruby 놀이터설치 없이 브라우저에서 진짜 CRuby(3.4)를 실행하는 인터랙티브 Ruby 놀이터입니다. WebAssembly로 컴파일된 실제 Ruby 인터프리터로 puts·배열/해시·블록·클래스·모듈·메타프로그래밍·패턴 매칭까지 21개 예제와 10개 연습 미션을 직접 실행하며 배웁니다.