콘텐츠로 이동

코드 액션

그래프만으로 부족할 때는 Code 박스가 스크립트를 실행합니다.

7 개 언어를 사용할 수 있으며, 모두 내장된 WebAssembly 샌드박스 안에서 실행됩니다. 사용하는 컴퓨터에 인터프리터를 설치할 필요가 없고, 스크립트는 파일 시스템에 접근하지 못합니다.

언어엔진
TypeScriptQuickJS(타입은 컴파일 시점에 제거됩니다)
JavaScriptQuickJS
PythonPyodide(WebAssembly로 컴파일한 CPython)
LuaWebAssembly 상의 Lua 5.4
RubyWebAssembly 상의 CRuby
RWebR
C#Roslyn을 갖춘 WebAssembly 상의 .NET

기본 언어는 TypeScript입니다.

어떤 언어를 쓰더라도 박스가 드러내는 것은 동일합니다.

입력value (input이라는 이름), code (문자열)
출력result
설정language, code, timeout, packages
  • input — 입력 포트로 받은 값입니다.
  • vars실행 변수입니다.
  • 각 언어의 표준 출력(console.log, print, puts, cat, Console.WriteLine)은 실행 로그로 흘러갑니다.
  • 반환된 값result 포트로 나갑니다. 오류나 시간 초과는 error 포트로 나갑니다.

timeout 은 초 단위로, 기본값은 5, 최대값은 60입니다. 이를 넘긴 스크립트는 중단되고 실행은 error 포트로 진행됩니다.

packages 필드는 { name, version } 의 목록을 받습니다. 정확한 버전이 캐시 키가 됩니다. 의존성은 첫 실행 때 해석되어 캐시에 저장되고, 이후의 모든 실행에서는 오프라인으로 마운트됩니다. CI에서도 마찬가지입니다.

언어출처
TypeScript / JavaScriptnpm(전체를 한 번에 묶습니다)
PythonPyPI의 순수 Python
LuaLuaRocks(순수 Lua 소스)
Ruby순수 Ruby gem
RCRAN, WebR의 WebAssembly 저장소를 경유
C#없음 — .NET 표준 라이브러리만 사용

많은 요구는 이미 전용 박스로 해결됩니다. 그편이 더 읽기 쉽고 더 빠릅니다.

필요한 일박스
응답에서 값 하나 꺼내기링크 셀렉터
문자열 서식 맞추기변환
목록 필터링, 정렬, 집계목록
해시, 인코딩, 서명인코딩
구조 검증Schema validate

Code 박스는 정말로 고유한 로직을 위해 남겨 두십시오.