블록 카탈로그
블록 편집기 툴박스의 18개 카테고리에 있는 블록을 하나씩 정리한 목록입니다. 블록마다 그림, 뜻, 입력과 출력의 데이터 타입을 적었으며, 앱 안에서 블록 위에 마우스를 올리면 표시되는 툴팁과 같은 내용입니다. 타입은 대괄호로 표기하고(예: 값1 [숫자]), 데이터 타입의 종류는 변수 타입과 같습니다. 블록 편집기의 사용 방법과 공통 규칙은 8부 블록 코딩을, 카테고리 요약은 블록 분류를 참고합니다.
변수
프로젝트 변수를 읽고 쓰는 블록과, 계산 결과를 블록 편집기 밖으로 내보내는 반환 블록입니다. 변수 읽기와 변수 쓰기의 타입은 블록에서 선택한 변수의 타입을 따르므로, 숫자 변수를 선택하면 [숫자]로, 텍스트 변수를 선택하면 [텍스트]로 연결됩니다. 반환 블록은 워크스페이스에 미리 놓여 있으며 결과를 내보내는 유일한 경로입니다.
변수 읽기

선택한 변수의 값을 읽어옵니다.
- 입력: 없음
- 출력: 변수의 값 [선택된 변수 타입]
변수 쓰기

선택한 변수에 값을 설정합니다.
- 입력: 변수에 설정할 값 [선택된 변수 타입]
- 출력: 없음
반환

연결된 블록의 값을 블록 편집기 외부로 반환합니다. 연결한 값의 타입은 해당 값 입력 항목의 타입과 같아야 합니다.
- 입력: 반환할 값 [모든 타입]
- 출력: 없음
논리
조건문(if), 비교 연산, 불리언 연산입니다. 값 비교는 숫자뿐 아니라 모든 타입의 두 값을 받으며, 비교와 논리 연산의 결과는 항상 [디지털]입니다. 조건 블록은 톱니바퀴 버튼으로 조건 항목을 추가하거나 순서를 바꿉니다.
조건

조건이 참이면에 연결된 값이 참일 때 실행에 연결된 블록을 실행합니다. 프로그래밍 언어의 if 문에 해당하며, 톱니바퀴 버튼으로 다른 경우(else if)와 아니라면(else) 항목을 추가하거나 순서를 변경합니다.
- 입력: 조건 [디지털]
- 출력: 없음
값 비교

두 입력 값이 서로 같은지, 다른지, 크거나 작은지 비교합니다. 비교 연산자는 블록의 드롭다운에서 선택합니다.
- 입력: 값1 [모든 타입], 값2 [모든 타입]
- 출력: 비교 결과 [디지털]
논리 연산

두 입력 값의 논리곱(그리고, AND) 또는 논리합(또는, OR)을 계산합니다. AND는 두 값이 모두 참일 때, OR는 둘 중 하나라도 참일 때 true를 반환합니다.
- 입력: 값1 [디지털], 값2 [디지털]
- 출력: 연산 결과 [디지털]
반전

입력 값을 반전하여 반환합니다. true는 false로, false는 true로 바뀝니다.
- 입력: 값 [디지털]
- 출력: 반전값 [디지털]
디지털 값

참(true) 또는 거짓(false) 상수를 출력합니다.
- 입력: 없음
- 출력: 참 또는 거짓 [디지털]
반복
횟수, 조건, 증감, 리스트 반복과 반복 중단입니다. 증감 반복과 리스트 반복은 현재 번호 또는 아이템을 지역 변수에 저장하는 방식으로 동작하므로, 반복 안에서는 그 지역 변수를 읽어 사용합니다. 반복 중단 블록은 반복 블록 안에서만 사용할 수 있습니다.
횟수 반복

지정한 횟수만큼 실행에 연결된 블록을 반복 실행합니다.
- 입력: 반복 횟수 [숫자]
- 출력: 없음
조건 반복

조건이 참인 동안(while) 또는 거짓인 동안(until) 블록을 반복 실행합니다. 드롭다운에서 조건이 참인 동안 반복과 조건이 거짓인 동안 반복 중 하나를 선택합니다.
- 입력: 조건 [디지털]
- 출력: 없음
증감 반복

지역 변수를 시작 번호에서 끝 번호까지 지정한 간격으로 증가 또는 감소시키며 실행에 연결된 블록을 반복 실행합니다. 프로그래밍 언어의 for 반복문에 해당합니다.
- 입력: 시작 번호 [숫자], 끝 번호 [숫자], 간격 [숫자]
- 출력: 없음
리스트 반복

리스트의 각 아이템을 순서대로 지역 변수에 저장하고 실행에 연결된 블록을 반복 실행합니다. 프로그래밍 언어의 list iterator에 해당합니다.
- 입력: 반복할 리스트 [리스트]
- 출력: 없음
반복 중단

반복 중단을 선택하면 반복 블록을 빠져나가고(break), 다음 반복을 선택하면 나머지 부분을 실행하지 않고 다음 반복으로 넘어갑니다(continue). 반복 블록 안에서만 사용할 수 있습니다.
- 입력: 없음
- 출력: 없음
수학
사칙연산과 수학 함수입니다. 각도는 삼각함수(sin, cos, tan)의 입력만 도(degree)이며, 역삼각함수의 출력과 쌍곡함수, 좌표 변환은 라디안(rad)입니다. 정수부와 소수부로 분리 블록과 좌표 변환 블록은 결과 두 개를 [리스트]로 반환합니다.
숫자

숫자 상수를 출력합니다. 블록의 필드에 값을 직접 입력합니다.
- 입력: 없음
- 출력: 값 [숫자]
상수

수학 상수 π(3.141…), e(2.718…), φ(1.618…), sqrt(2)(1.414…), sqrt(1/2)(0.707…), ∞(무한대) 중 하나를 반환합니다.
- 입력: 없음
- 출력: 상수의 값 [숫자]
연산

두 수의 합, 차, 곱, 나눗셈, 거듭제곱을 계산합니다.
- 입력: 값1 [숫자], 값2 [숫자]
- 출력: 계산 값 [숫자]
나머지

두 입력 값을 나눈 나머지를 반환합니다.
- 입력: 값1 [숫자], 값2 [숫자]
- 출력: 나머지 [숫자]
반올림

숫자를 지정한 소수점 자릿수에서 반올림, 올림, 내림합니다. 예: 1.234를 소수점 1자리에서 반올림 → 1.2
- 입력: 숫자 [숫자], 소수점 자릿수 [숫자]
- 출력: 반올림된 숫자 [숫자]
정수부와 소수부로 분리

숫자를 정수 부분과 소수 부분으로 나누어 리스트로 반환합니다. 예: 1.234 → [1, 0.234]
- 입력: 숫자 [숫자]
- 출력: [정수부, 소수부] [리스트]
제곱근, 절대값, 로그, 거듭제곱

입력 값의 제곱근, 절대값, 부호 반전, 자연로그(ln), 상용로그(log), e의 거듭제곱(e^), 10의 거듭제곱(10^) 중 하나를 계산합니다.
- 입력: 값 [숫자]
- 출력: 계산 값 [숫자]
n제곱근

숫자의 n제곱근을 계산합니다. n이 2이면 제곱근, 3이면 세제곱근입니다. 예: 8의 3제곱근 → 2
- 입력: 밑 [숫자], 지수 [숫자]
- 출력: n제곱근 [숫자]
역수

숫자의 역수(1을 그 수로 나눈 값)를 계산합니다. 예: 4의 역수 → 0.25
- 입력: 숫자 [숫자]
- 출력: 역수 [숫자]
삼각함수

sin, cos, tan, asin, acos, atan 값을 계산합니다. sin, cos, tan의 입력 단위는 도(degree)이고 asin, acos, atan의 출력 단위는 라디안(rad)입니다.
- 입력: 각도 [숫자]
- 출력: 삼각함수 값 [숫자]
쌍곡함수

쌍곡사인(sinh), 쌍곡코사인(cosh), 쌍곡탄젠트(tanh)를 계산합니다. 입력 단위는 라디안입니다.
- 입력: 각도 [숫자]
- 출력: 쌍곡함수 값 [숫자]
값의 제한

입력 값을 최소 값과 최대 값 사이로 제한하여 출력합니다. 예: 105를 최소 1, 최대 100으로 제한 → 100
- 입력: 입력 값 [숫자], 최소 값 [숫자], 최대 값 [숫자]
- 출력: 결과 값 [숫자]
랜덤 정수

최소 값 이상, 최대 값 이하의 정수를 무작위로 출력합니다.
- 입력: 최소 값 [숫자], 최대 값 [숫자]
- 출력: 랜덤한 정수 [숫자]
랜덤 실수

0 이상 1 미만의 실수를 무작위로 출력합니다.
- 입력: 없음
- 출력: 랜덤한 실수 [숫자]
수의 속성

입력 값이 짝수, 홀수, 소수, 정수, 양수, 음수인지, 또는 지정한 수로 나누어 떨어지는지 확인합니다.
- 입력: 값 [숫자]
- 출력: 속성 일치 여부 [디지털]
범위 확인

값이 지정한 범위 안에 있는지 확인합니다. 부등호를 선택하여 범위 경계의 포함 여부를 정합니다.
- 입력: 최소 값 [숫자], 확인할 값 [숫자], 최대 값 [숫자]
- 출력: 범위 내 여부 [디지털]
선형변환

입력값을 한 범위에서 다른 범위로 선형 변환합니다. 범위 제한이 참이면 출력을 출력 범위 안으로 제한합니다. 예: 3을 [0, 10]에서 [0, 100]으로 변환 → 30
- 입력: 입력값 [숫자], 입력 최소값 [숫자], 입력 최대값 [숫자], 출력 최소값 [숫자], 출력 최대값 [숫자], 범위 제한 [디지털]
- 출력: 변환된 값 [숫자]
좌표 변환

직교좌표(x, y)와 극좌표(반지름, 각도)를 서로 변환합니다. 각도는 라디안 단위입니다.
- 입력: 좌표1 [숫자], 좌표2 [숫자]
- 출력: 변환된 좌표 [리스트]
리스트 계산

리스트에 든 숫자들의 합계, 최소 값, 최대 값, 평균 값, 중간 값, 가장 여러 개 있는 값, 표준 편차, 임의 항목 중 하나를 계산합니다.
- 입력: 리스트 [리스트]
- 출력: 계산 값 [숫자]
날짜/시간
날짜, 시간, 시간길이 세 타입의 값을 만들고 계산하고 변환합니다. 날짜는 연월일, 시간은 하루 안의 시각, 시간길이는 시간·분·초·밀리초로 이루어진 경과 시간입니다.
- 시스템 가동 시간은 최대 4,294,967,295밀리초(약 49.7일)까지 표현하며, 이를 넘으면 0부터 다시 셉니다.
- 시간에 더하기의 결과가 음수가 되거나 24시간을 넘으면 이전 날 또는 다음 날의 시각으로 계산합니다.
- 시간길이에 더하기의 결과가 음수가 되면 0시간 0분 0초 0밀리초를 반환합니다.
- 요일 번호는 월요일이 0, 일요일이 6입니다. 요일 이름은 "THU"처럼 영문 약자로 반환됩니다.
- 현재 타임스탬프는 YYYY-MM-DD HH:MM:SS 형식의 텍스트입니다.
- 유닉스 타임스탬프의 출력 타입은 [숫자]가 아니라 [시간길이]입니다. 밀리초 숫자가 필요하면 시간길이를 밀리초로 변환 블록에 연결합니다.
- 두 값의 차이를 구하는 블록은 두 번째 값에서 첫 번째 값을 뺀 값(값2 - 값1)을 반환하므로, 입력 순서에 따라 부호가 바뀝니다.
날짜 입력

블록의 달력 필드에서 날짜를 선택하여 날짜 상수를 만듭니다.
- 입력: 없음(달력 필드)
- 출력: 선택된 날짜 [날짜]
시간 입력

오전/오후, 시, 분, 초 필드로 시간 상수를 만듭니다.
- 입력: 없음(오전/오후, 시, 분, 초 필드)
- 출력: 설정된 시간 [시간]
시간길이 입력

시간, 분, 초, 밀리초 필드로 시간길이 상수를 만듭니다.
- 입력: 없음(시간, 분, 초, 밀리초 필드)
- 출력: 설정된 시간길이 [시간길이]
오늘 날짜

시스템의 현재 날짜를 가져옵니다. 예: 2023-03-20
- 입력: 없음
- 출력: 현재 날짜 [날짜]
현재 시간

시스템의 현재 시간을 가져옵니다. 예: 17:11:30
- 입력: 없음
- 출력: 현재 시간 [시간]
현재 타임스탬프

현재 날짜와 시간을 YYYY-MM-DD HH:MM:SS 형식의 텍스트로 반환합니다. 예: "2023-12-25 17:11:30"
- 입력: 없음
- 출력: 타임스탬프 텍스트 [텍스트]
시스템 가동 시간

시스템이 부팅된 뒤 경과한 시간을 반환합니다. 최대 4,294,967,295밀리초(약 49.7일)까지 표현하며, 이를 넘으면 0부터 다시 시작합니다. 예: 0시간 60분 30초 500밀리초
- 입력: 없음
- 출력: 경과 시간길이 [시간길이]
유닉스 타임스탬프

1970년 1월 1일 00:00:00 UTC부터 현재까지 경과한 시간을 반환합니다. 출력은 숫자가 아니라 시간길이입니다.
- 입력: 없음
- 출력: 유닉스 시간길이 [시간길이]
날짜 생성

연, 월, 일 값으로 날짜를 만듭니다. 예: 2022, 12, 1 → 2022-12-01
- 입력: 연 [숫자], 월 [숫자], 일 [숫자]
- 출력: 생성된 날짜 [날짜]
시간 생성

시, 분, 초 값으로 시간을 만듭니다. 예: 14, 56, 30 → 14:56:30
- 입력: 시 [숫자], 분 [숫자], 초 [숫자]
- 출력: 생성된 시간 [시간]
시간길이 생성

시간, 분, 초, 밀리초 값으로 시간길이를 만듭니다. 예: 12, 34, 56, 789 → 12시간 34분 56초 789밀리초
- 입력: 시간 [숫자], 분 [숫자], 초 [숫자], 밀리초 [숫자]
- 출력: 생성된 시간길이 [시간길이]
날짜에 더하기

날짜에 연, 월, 주, 일을 더하거나 뺍니다(음수를 입력하면 뺍니다). 예: 2023-03-23 + 1년 - 3월 + 2주 - 5일 → 2023-12-31
- 입력: 날짜 [날짜], 연 [숫자], 월 [숫자], 주 [숫자], 일 [숫자]
- 출력: 계산된 날짜 [날짜]
시간에 더하기

시간에 시, 분, 초를 더하거나 뺍니다. 결과가 음수가 되거나 24시간을 넘으면 이전 날 또는 다음 날의 시각으로 계산합니다. 예: 10:46:52 - 12시간 + 30분 - 50초 → 23:16:02
- 입력: 시간 [시간], 시 [숫자], 분 [숫자], 초 [숫자]
- 출력: 계산된 시간 [시간]
시간길이에 더하기

시간길이에 시간, 분, 초, 밀리초를 더하거나 뺍니다. 결과가 음수가 되면 0시간 0분 0초 0밀리초를 반환합니다. 예: 0시간 10분 20초 100밀리초 + 1시간 - 30분 + 30초 - 100밀리초 → 0시간 40분 50초 0밀리초
- 입력: 시간길이 [시간길이], 시간 [숫자], 분 [숫자], 초 [숫자], 밀리초 [숫자]
- 출력: 계산된 시간길이 [시간길이]
날짜 비교

두 날짜를 선택한 비교 연산자로 비교합니다. 예: 2023-03-23 < 2023-03-30 → true
- 입력: 날짜1 [날짜], 날짜2 [날짜]
- 출력: 비교 결과 [디지털]
시간 비교

두 시간을 선택한 비교 연산자로 비교합니다. 예: 11:04:30 < 12:00:00 → true
- 입력: 시간1 [시간], 시간2 [시간]
- 출력: 비교 결과 [디지털]
시간길이 비교

두 시간길이를 선택한 비교 연산자로 비교합니다. 예: 0시간 1분 0초 0밀리초 < 0시간 2분 0초 0밀리초 → true
- 입력: 시간길이1 [시간길이], 시간길이2 [시간길이]
- 출력: 비교 결과 [디지털]
날짜를 연/월/일로 분해

날짜를 연, 월, 일 값의 리스트로 분해합니다. 예: 2023-03-23 → [2023, 3, 23]
- 입력: 날짜 [날짜]
- 출력: [연, 월, 일] [리스트]
시간을 시/분/초로 분해

시간을 시, 분, 초 값의 리스트로 분해합니다. 예: 11:10:30 → [11, 10, 30]
- 입력: 시간 [시간]
- 출력: [시, 분, 초] [리스트]
시간길이를 시간/분/초/밀리초로 분해

시간길이를 시간, 분, 초, 밀리초 값의 리스트로 분해합니다. 예: 12시간 34분 56초 789밀리초 → [12, 34, 56, 789]
- 입력: 시간길이 [시간길이]
- 출력: [시간, 분, 초, 밀리초] [리스트]
날짜의 요일

날짜의 요일을 번호(0: 월요일 … 6: 일요일) 또는 이름으로 반환합니다. 드롭다운에서 요일 번호와 요일 이름 중 선택합니다. 예: 2023-03-23(목요일) → 3 또는 "THU"
- 입력: 날짜 [날짜]
- 출력: 요일 번호 [숫자] 또는 요일 이름 [텍스트]
윤년 확인

날짜의 연도가 윤년(양력 2월이 29일까지 있는 해)인지 확인합니다. 예: 2024-01-01 → true
- 입력: 날짜 [날짜]
- 출력: 윤년 여부 [디지털]
두 날짜 사이의 일수

두 날짜의 차이(날짜2 - 날짜1)를 일수로 계산합니다. 예: 날짜1 2023-03-23, 날짜2 2023-06-30 → 99
- 입력: 날짜1 [날짜], 날짜2 [날짜]
- 출력: 일수 차이 [숫자]
날짜의 일수 정보

날짜가 속한 연도의 총 일수, 월의 총 일수, 또는 그 날짜가 그 해의 몇 번째 날인지를 반환합니다. 드롭다운에서 연도 총일수, 월 총일수, 연중 일자 중 선택합니다. 예: 2023-03-23 → 365(연도 총일수)
- 입력: 날짜 [날짜]
- 출력: 연도 총일수, 월 총일수, 또는 연중 일자 [숫자]
날짜 범위 확인

시작날짜 ≤ 확인날짜 ≤ 종료날짜인지 검사합니다. 양 끝 날짜를 범위에 포함합니다. 예: 2023-01-01 ≤ 2023-03-23 ≤ 2023-12-31 → true
- 입력: 시작날짜 [날짜], 확인날짜 [날짜], 종료날짜 [날짜]
- 출력: 범위 포함 여부 [디지털]
두 시간 사이의 초

두 시간의 차이(시간2 - 시간1)를 초로 계산합니다. 예: 시간1 09:00:00, 시간2 11:37:30 → 9,450
- 입력: 시간1 [시간], 시간2 [시간]
- 출력: 초 차이 [숫자]
두 시간길이 사이의 밀리초

두 시간길이의 차이(시간길이2 - 시간길이1)를 밀리초로 계산합니다. 예: 시간길이1 0시간 0분 0초 0밀리초, 시간길이2 1시간 30분 30초 500밀리초 → 5,430,500
- 입력: 시간길이1 [시간길이], 시간길이2 [시간길이]
- 출력: 밀리초 차이 [숫자]
시간길이에 배수 곱하기

시간길이에 배수를 곱합니다. 예: 3시간 30분 30초 0밀리초 × 2 → 7시간 1분 0초 0밀리초
- 입력: 시간길이 [시간길이], 배수 [숫자]
- 출력: 계산된 시간길이 [시간길이]
시간길이를 밀리초로 변환

시간길이를 총 밀리초 수로 변환합니다. 예: 1시간 30분 30초 500밀리초 → 5,430,500
- 입력: 시간길이 [시간길이]
- 출력: 총 밀리초 [숫자]
밀리초를 시간길이로 변환

밀리초 수를 시간길이로 변환합니다. 예: 5,430,500밀리초 → 1시간 30분 30초 500밀리초
- 입력: 밀리초 [숫자]
- 출력: 시간길이 [시간길이]
텍스트
텍스트를 만들고 조작합니다. 위치는 1부터 세며 찾지 못하면 0을 반환합니다. 텍스트의 길이는 바이트 수가 아니라 문자 수이므로 한글도 한 글자로 셉니다. 위치를 받는 블록은 앞에서 셀지 뒤에서 셀지 선택할 수 있습니다. 대문자/소문자 변환과 대소문자 확인은 영문자에만 적용됩니다.
텍스트

텍스트 상수를 출력합니다. 블록의 필드에 내용을 직접 입력합니다.
- 입력: 없음
- 출력: 텍스트 [텍스트]
텍스트 합치기

여러 텍스트를 하나로 이어 붙입니다. 톱니바퀴 버튼으로 항목을 추가하거나 삭제합니다. 예: "가", "나", "다" → "가나다"
- 입력: 텍스트1 [텍스트], 텍스트2 [텍스트] …
- 출력: 합친 텍스트 [텍스트]
텍스트가 비어 있는지 확인

텍스트가 비어 있으면 true, 그렇지 않으면 false를 반환합니다.
- 입력: 텍스트 [텍스트]
- 출력: 빈 텍스트 여부 [디지털]
대문자/소문자로 변환

텍스트를 대문자로, 소문자로, 첫 문자만 대문자로 중 선택한 형태로 변환합니다. 영문자에만 적용됩니다.
- 입력: 텍스트 [텍스트]
- 출력: 변환된 텍스트 [텍스트]
공백 문자 제거

텍스트의 양쪽, 왼쪽, 오른쪽 중 선택한 쪽의 공백(스페이스)을 제거합니다.
- 입력: 텍스트 [텍스트]
- 출력: 공백이 제거된 텍스트 [텍스트]
텍스트의 길이

텍스트의 문자 개수를 반환합니다. 예: "안녕하세요"의 길이 → 5
- 입력: 텍스트 [텍스트]
- 출력: 문자 개수 [숫자]
텍스트에서 텍스트 찾기

텍스트 안에서 찾을 텍스트가 첫 번째 또는 마지막으로 나타나는 위치를 찾습니다. 위치는 1부터 시작하며 찾지 못하면 0을 반환합니다. 예: "안녕하세요"에서 "하세"의 첫 번째 위치 → 3
- 입력: 원본 텍스트 [텍스트], 찾을 텍스트 [텍스트]
- 출력: 위치 [숫자]
텍스트에서 부분 텍스트 추출

앞 또는 뒤에서 센 위치부터 지정한 개수의 문자를 추출합니다. 예: "안녕하세요"의 앞에서 2번째부터 3글자 추출 → "녕하세"
- 입력: 원본 텍스트 [텍스트], 시작 위치 [숫자], 문자 개수 [숫자]
- 출력: 추출된 텍스트 [텍스트]
텍스트에 텍스트 삽입

텍스트의 지정한 위치에 다른 텍스트를 삽입합니다. 예: "안녕하세요"의 앞에서 3번째에 "정말 " 삽입 → "안녕정말 하세요"
- 입력: 원본 텍스트 [텍스트], 위치 [숫자], 삽입할 텍스트 [텍스트]
- 출력: 수정된 텍스트 [텍스트]
텍스트에서 텍스트 삭제

텍스트의 지정한 위치부터 지정한 개수의 문자를 삭제합니다. 예: "안녕하세요"의 앞에서 2번째부터 2글자 삭제 → "안세요"
- 입력: 원본 텍스트 [텍스트], 시작 위치 [숫자], 삭제할 문자 개수 [숫자]
- 출력: 수정된 텍스트 [텍스트]
텍스트 구간 교체

텍스트의 지정한 구간을 다른 텍스트로 교체합니다. 예: "안녕하세요"의 앞에서 3번째부터 2글자를 "좋은"으로 교체 → "안녕좋은요"
- 입력: 원본 텍스트 [텍스트], 시작 위치 [숫자], 교체할 문자 개수 [숫자], 새 텍스트 [텍스트]
- 출력: 수정된 텍스트 [텍스트]
텍스트가 숫자인지 확인

텍스트가 유효한 숫자인지 확인합니다. 정수, 소수, 음수 모두 확인할 수 있습니다. 예: "-123.45" → 참
- 입력: 텍스트 [텍스트]
- 출력: 숫자 여부 [디지털]
텍스트에서 숫자/문자 위치 찾기

텍스트에서 숫자 또는 숫자가 아닌 문자가 첫 번째 또는 마지막으로 나타나는 위치를 찾습니다. 위치는 1부터 시작하며 찾지 못하면 0을 반환합니다. 예: "abc123"에서 숫자의 첫 번째 위치 → 4
- 입력: 텍스트 [텍스트]
- 출력: 위치 [숫자]
텍스트가 모두 대문자/소문자인지 확인

텍스트의 모든 영문자가 대문자 또는 소문자인지 확인합니다. 영문자가 아닌 문자는 무시합니다.
- 입력: 텍스트 [텍스트]
- 출력: 대소문자 일치 여부 [디지털]
텍스트에 문자 채우기

텍스트의 왼쪽 또는 오른쪽에 문자를 채워 지정한 길이로 만듭니다. 예: "123"을 왼쪽에 "0"으로 채워 길이 6 만들기 → "000123"
- 입력: 원본 텍스트 [텍스트], 목표 길이 [숫자], 채울 문자 [텍스트]
- 출력: 채워진 텍스트 [텍스트]
텍스트 찾아서 교체

텍스트에서 찾을 텍스트를 다른 텍스트로 교체합니다. 모든, 첫 번째, 마지막 중 교체 대상을 선택합니다. 예: "hello world"에서 모든 "l"을 "r"로 교체 → "herro worrd"
- 입력: 원본 텍스트 [텍스트], 찾을 텍스트 [텍스트], 교체할 텍스트 [텍스트]
- 출력: 수정된 텍스트 [텍스트]
바이트 배열
이진 데이터를 다루는 블록입니다. 바이트 배열 상수는 16진수를 공백으로 구분하여 입력합니다 (예: 0A 0B 0C). 인덱스는 0부터 세며, 배열을 바꾸는 블록은 수정된 바이트 배열을 출력으로 반환합니다. 바이트 하나를 꺼내는 블록의 출력은 0~255 범위의 10진 숫자입니다(예: 0x0C → 12).
바이트 배열 입력

바이트 배열 상수를 만듭니다. 16진수를 공백으로 구분하여 입력합니다(예: 0A 0B 0C).
- 입력: 없음
- 출력: 바이트 배열 [바이트 배열]
바이트 배열의 크기

바이트 배열의 크기(바이트 개수)를 반환합니다. 예: [0A, 0B, 0C] → 3
- 입력: 바이트 배열 [바이트 배열]
- 출력: 배열 크기 [숫자]
바이트 배열의 인덱스 바이트

지정한 인덱스에 있는 바이트 값을 가져옵니다. 인덱스는 0부터 시작합니다. 예: 배열 [0A, 0B, 0C, 0D], 인덱스 2 → 12(0x0C)
- 입력: 바이트 배열 [바이트 배열], 인덱스 [숫자]
- 출력: 바이트 값 [숫자]
바이트 배열의 인덱스를 값으로 설정

지정한 인덱스의 바이트를 새 값으로 설정합니다. 인덱스는 0부터 시작하며, 원본 배열은 변경되지 않고 수정된 배열이 반환됩니다. 예: 배열 [0A, 0B, 0C, 0D], 인덱스 2, 값 14 → [0A, 0B, 0E, 0D]
- 입력: 바이트 배열 [바이트 배열], 인덱스 [숫자], 바이트 값 [숫자]
- 출력: 수정된 바이트 배열 [바이트 배열]
바이트 배열에 바이트 추가

바이트 배열의 끝에 바이트 하나를 추가합니다. 예: 배열 [0A, 0B, 0C], 추가값 13 → [0A, 0B, 0C, 0D]
- 입력: 바이트 배열 [바이트 배열], 바이트 값 [숫자]
- 출력: 확장된 바이트 배열 [바이트 배열]
바이트 배열의 마지막 바이트 제거

바이트 배열의 마지막 바이트를 제거합니다. 예: [0A, 0B, 0C, 0D] → [0A, 0B, 0C]
- 입력: 바이트 배열 [바이트 배열]
- 출력: 축소된 바이트 배열 [바이트 배열]
바이트 배열의 인덱스에 바이트 삽입

지정한 인덱스에 바이트 하나를 끼워 넣습니다. 인덱스는 0부터 시작합니다. 예: 배열 [0A, 0B, 0C, 0D], 인덱스 2, 값 14 → [0A, 0B, 0E, 0C, 0D]
- 입력: 바이트 배열 [바이트 배열], 인덱스 [숫자], 바이트 값 [숫자]
- 출력: 수정된 바이트 배열 [바이트 배열]
바이트 배열의 인덱스부터 여러 바이트 삭제

지정한 인덱스부터 지정한 개수의 바이트를 삭제합니다. 인덱스는 0부터 시작합니다. 예: 배열 [0A, 0B, 0C, 0D], 인덱스 1, 개수 2 → [0A, 0D]
- 입력: 바이트 배열 [바이트 배열], 시작 인덱스 [숫자], 삭제할 개수 [숫자]
- 출력: 축소된 바이트 배열 [바이트 배열]
바이트 배열의 인덱스부터 여러 바이트 순서 역전

지정한 구간의 바이트 순서를 뒤집습니다. 인덱스는 0부터 시작합니다. 예: 배열 [0A, 0B, 0C, 0D], 인덱스 1, 개수 2 → [0A, 0C, 0B, 0D]
- 입력: 바이트 배열 [바이트 배열], 시작 인덱스 [숫자], 역전할 개수 [숫자]
- 출력: 수정된 바이트 배열 [바이트 배열]
바이트 배열의 첫 번째/마지막 바이트

바이트 배열의 첫 번째 또는 마지막 바이트를 가져옵니다. 예: [0A, 0B, 0C]의 첫 번째 바이트 → 10(0x0A)
- 입력: 바이트 배열 [바이트 배열]
- 출력: 바이트 값 [숫자]
바이트 배열의 인덱스부터 여러 바이트 추출

지정한 구간을 새 바이트 배열로 추출합니다. 인덱스는 0부터 시작합니다. 예: 배열 [0A, 0B, 0C, 0D], 인덱스 1, 개수 2 → [0B, 0C]
- 입력: 바이트 배열 [바이트 배열], 시작 인덱스 [숫자], 추출할 개수 [숫자]
- 출력: 추출된 바이트 배열 [바이트 배열]
바이트 배열의 인덱스부터 다른 바이트 배열로 교체

지정한 인덱스부터 다른 바이트 배열의 내용으로 덮어씁니다. 인덱스는 0부터 시작합니다. 예: 원본 [0A, 0B, 0C, 0D], 인덱스 1, 교체 [0E, 0F] → [0A, 0E, 0F, 0D]
- 입력: 원본 바이트 배열 [바이트 배열], 시작 인덱스 [숫자], 교체할 바이트 배열 [바이트 배열]
- 출력: 수정된 바이트 배열 [바이트 배열]
바이트 배열의 인덱스에 다른 바이트 배열 삽입

지정한 인덱스에 다른 바이트 배열을 끼워 넣습니다. 인덱스는 0부터 시작합니다. 예: 원본 [0A, 0B, 0C, 0D], 인덱스 2, 삽입 [0E, 0F] → [0A, 0B, 0E, 0F, 0C, 0D]
- 입력: 원본 바이트 배열 [바이트 배열], 인덱스 [숫자], 삽입할 바이트 배열 [바이트 배열]
- 출력: 수정된 바이트 배열 [바이트 배열]
바이트 배열에 다른 바이트 배열 연결

첫 번째 바이트 배열의 끝에 두 번째 바이트 배열을 이어 붙입니다. 예: 원본 [0A, 0B], 연결 [0C, 0D] → [0A, 0B, 0C, 0D]
- 입력: 원본 바이트 배열 [바이트 배열], 연결할 바이트 배열 [바이트 배열]
- 출력: 연결된 바이트 배열 [바이트 배열]
리스트
리스트를 만들고 조회하고 조작합니다. 아이템은 모든 타입을 담을 수 있으며, 위치는 1부터 세고 찾지 못하면 0을 반환합니다. 위치를 받는 블록은 처음에서 #번째, 마지막에서 #번째, 첫번째 아이템, 마지막 아이템, 임의의 아이템 중에서 위치 방식을 선택합니다.
리스트 만들기

아이템을 넣어 리스트를 만듭니다. 톱니바퀴 버튼으로 아이템을 추가하거나 모두 빼서 빈 리스트를 만들 수 있습니다. 예: "사과", "바나나", "포도" → ["사과", "바나나", "포도"]
- 입력: 아이템1 [모든 타입], 아이템2 [모든 타입] …
- 출력: 리스트 [리스트]
동일한 아이템으로 리스트 만들기

같은 아이템을 지정한 개수만큼 채운 리스트를 만듭니다. 예: "안녕"을 3번 채우기 → ["안녕", "안녕", "안녕"]
- 입력: 아이템 [모든 타입], 채울 갯수 [숫자]
- 출력: 리스트 [리스트]
리스트에 포함된 아이템의 갯수

리스트에 든 아이템의 개수를 반환합니다. 예: ["사과", "바나나", "포도"] → 3
- 입력: 리스트 [리스트]
- 출력: 아이템의 갯수 [숫자]
리스트가 비어있는지 확인

리스트가 비어 있으면 true, 그렇지 않으면 false를 반환합니다. 예: [] → true, ["사과"] → false
- 입력: 리스트 [리스트]
- 출력: 빈 리스트 여부 [디지털]
리스트에서 아이템의 위치 찾기

아이템이 처음 또는 마지막으로 나타나는 위치를 반환합니다. 위치는 1부터 시작하며 찾지 못하면 0을 반환합니다. 예: ["사과", "바나나", "사과"]에서 "사과"의 첫 번째 위치 → 1
- 입력: 리스트 [리스트], 아이템 [모든 타입]
- 출력: 아이템의 위치 [숫자]
리스트에서 아이템 가져오기/잘라내기/삭제

지정한 위치의 아이템을 가져오거나, 가져오면서 리스트에서 빼거나, 삭제합니다. 위치는 1부터 시작하며 #1이 첫 번째 위치입니다. 가져오기는 아이템을 반환하고 원본 리스트를 바꾸지 않습니다. 잘라내기는 아이템을 반환하고 리스트에서 삭제합니다. 삭제는 아이템을 삭제하며 반환값이 없습니다.
- 입력: 리스트 [리스트], (위치 [숫자])
- 출력: 아이템 [모든 타입] 또는 없음(삭제)
리스트에 아이템 설정/끼워넣기

지정한 위치에 아이템을 설정하거나 끼워 넣습니다. 위치는 1부터 시작하며 #1이 첫 번째 위치입니다. 설정은 기존 아이템을 새 아이템으로 교체하고, 끼워넣기는 기존 아이템 사이에 새 아이템을 넣습니다. 예: ["A", "B", "C"]의 2번째 위치에 "X" 끼워넣기 → ["A", "X", "B", "C"]
- 입력: 리스트 [리스트], (위치 [숫자]), 아이템 [모든 타입]
- 출력: 없음
리스트에서 부분 리스트 추출

시작 위치부터 종료 위치까지의 아이템을 새 리스트로 추출합니다. 양 끝 위치를 포함합니다. 예: ["A", "B", "C", "D", "E"]에서 2번째부터 4번째까지 → ["B", "C", "D"]
- 입력: 원본 리스트 [리스트], 시작 위치 [숫자], 종료 위치 [숫자]
- 출력: 추출된 리스트 [리스트]
텍스트와 리스트 간 변환

텍스트에서 리스트 만들기는 텍스트를 구분자로 나누어 리스트로 만들고, 리스트에서 텍스트 만들기는 아이템 사이에 구분자를 넣어 하나의 텍스트로 만듭니다. 구분자는 직접 입력, 줄바꿈, 탭 중에서 선택합니다. 예: "사과,바나나,포도"를 ","로 분리 → ["사과", "바나나", "포도"]
- 입력: 텍스트 [텍스트], 구분자 [텍스트] 또는 리스트 [리스트], 구분자 [텍스트]
- 출력: 리스트 [리스트] 또는 텍스트 [텍스트]
리스트 정렬

리스트의 아이템을 정렬한 새 리스트를 반환합니다. 정렬 기준은 숫자순, 알파벳순, 알파벳순 (대소문자 구분 안 함), 순서는 오름차순과 내림차순 중에서 선택합니다. 예: [3, 1, 4, 1, 5] 숫자순 오름차순 → [1, 1, 3, 4, 5]
- 입력: 원본 리스트 [리스트]
- 출력: 정렬된 리스트 [리스트]
타입 변환
변수 타입 간 변환입니다. 텍스트를 숫자, 날짜, 시간, 시간길이로 바꾸는 블록은 형식에 맞지 않는 텍스트를 받으면 실행 시 에러가 발생합니다. 정수 변환은 부호 유무와 크기(1, 2, 4바이트)를 선택하며, 범위를 넘는 값은 넘친 자리가 잘려 다른 값이 됩니다(예: 172를 부호있는 1바이트로 변환 → -84). 정수와 바이트 배열, 2진수·16진수 텍스트를 서로 바꾸는 블록은 값을 4바이트 부호없는 정수로 다루므로 결과는 항상 4바이트입니다(예: 65450 → 00 00 FF AA).
값을 숫자로 변환

디지털, 숫자, 텍스트를 숫자로 변환합니다. 숫자로 변환할 수 없는 텍스트는 에러가 발생합니다. 예: true → 1, false → 0, "123" → 123, "가나다라" → 에러
- 입력: 값 [디지털, 숫자, 텍스트]
- 출력: 변환된 숫자 [숫자]
값을 텍스트로 변환

모든 타입의 값을 텍스트로 변환합니다. 예: true → "true", 123 → "123", 2023-03-23 → "2023-03-23"
- 입력: 값 [모든 타입]
- 출력: 변환된 텍스트 [텍스트]
값을 디지털로 변환

숫자를 디지털(true 또는 false)로 변환합니다. 예: 1 → true, 0 → false
- 입력: 값 [디지털, 숫자]
- 출력: 변환된 디지털 값 [디지털]
값을 정수로 변환

입력 값을 선택한 정수 타입으로 변환합니다. 정수 타입은 부호있는 1바이트, 부호없는 1바이트, 부호있는 2바이트, 부호없는 2바이트, 부호있는 4바이트, 부호없는 4바이트 중에서 선택합니다. 예: 172를 부호있는 1바이트 정수로 변환 → -84
- 입력: 값 [숫자]
- 출력: 변환된 정수 값 [숫자]
텍스트를 날짜로 변환

텍스트를 날짜로 변환합니다. 날짜 형식이 아닌 텍스트는 에러가 발생합니다. 예: "2022-12-01" → 2022-12-01
- 입력: 텍스트 [텍스트]
- 출력: 변환된 날짜 [날짜]
텍스트를 시간으로 변환

텍스트를 시간으로 변환합니다. 시간 형식이 아닌 텍스트는 에러가 발생합니다. 예: "14:27:30" → 14:27:30
- 입력: 텍스트 [텍스트]
- 출력: 변환된 시간 [시간]
텍스트를 시간길이로 변환

텍스트를 시간길이로 변환합니다. 시간길이 형식은 "0h 0m 0s 0ms" 또는 "0:0:0:0"이며, 형식이 아닌 텍스트는 에러가 발생합니다. 예: "12:34:56:789" → 12시간 34분 56초 789밀리초
- 입력: 텍스트 [텍스트]
- 출력: 변환된 시간길이 [시간길이]
텍스트를 색상으로 변환
텍스트를 색상 값으로 변환합니다. 입력 텍스트는 "#FF0000"(빨강)과 같은 16진수 색상 형식이어야 합니다. 프로젝트 버전 0.16.0 이상에서 툴박스에 표시됩니다. 예: "#00FF00" → 초록색
- 입력: 텍스트 [텍스트]
- 출력: 색상 값 [색상]
바이트 배열을 정수로 변환

바이트 배열을 4바이트 부호없는 정수로 변환합니다. 바이트 배열의 첫 번째 바이트가 MSB(Most Significant Byte)입니다. 예: FF AA → 65450
- 입력: 바이트 배열 [바이트 배열]
- 출력: 변환된 정수 값 [숫자]
정수를 바이트 배열로 변환

정수를 바이트 배열로 변환합니다. 입력 값은 4바이트 정수로 자동 변환되며, 바이트 배열의 첫 번째 바이트가 MSB입니다. 예: 65450 → 00 00 FF AA
- 입력: 정수 [숫자]
- 출력: 변환된 바이트 배열 [바이트 배열]
2진수 텍스트를 정수로 변환

2진수 텍스트를 4바이트 부호없는 정수로 변환합니다. 첫 번째 비트가 MSB(Most Significant Bit)이며, 텍스트에 공백(스페이스)이 포함되어도 됩니다. 예: "1111 1111 1010 1010" → 65450
- 입력: 2진수 텍스트 [텍스트]
- 출력: 변환된 정수 값 [숫자]
정수를 2진수 텍스트로 변환

정수를 32자리 2진수 텍스트로 변환합니다. 입력 값은 4바이트 정수로 자동 변환되며, 첫 번째 비트가 MSB입니다. 예: 65450 → "00000000000000001111111110101010"
- 입력: 정수 [숫자]
- 출력: 변환된 2진수 텍스트 [텍스트]
16진수 텍스트를 정수로 변환

16진수 텍스트를 4바이트 부호없는 정수로 변환합니다. 첫 번째 바이트가 MSB이며, 입력 텍스트는 구분자 없음(00AAFF), 공백(00 AA FF), 콤마(00, AA, FF), 콜론(00:AA:FF) 네 형식 중 하나여야 합니다. 예: "FF AA" → 65450
- 입력: 16진수 텍스트 [텍스트]
- 출력: 변환된 정수 값 [숫자]
정수를 16진수 텍스트로 변환

정수를 16진수 텍스트로 변환합니다. 입력 값은 4바이트 정수로 자동 변환되며, 첫 번째 바이트가 MSB입니다. 예: 65450 → "00 00 FF AA"
- 입력: 정수 [숫자]
- 출력: 변환된 16진수 텍스트 [텍스트]
바이트 배열을 UTF-8 텍스트로 변환

바이트 배열을 UTF-8 텍스트로 해석합니다. 예: EA B0 80 EB 82 98 EB 8B A4 → "가나다"
- 입력: 바이트 배열 [바이트 배열]
- 출력: UTF-8 텍스트 [텍스트]
UTF-8 텍스트를 바이트 배열로 변환

텍스트를 UTF-8로 인코딩한 바이트 배열을 만듭니다. 예: "가나다" → EA B0 80 EB 82 98 EB 8B A4
- 입력: UTF-8 텍스트 [텍스트]
- 출력: 바이트 배열 [바이트 배열]
16진수 텍스트를 바이트 배열로 변환

16진수 텍스트를 바이트 배열로 변환합니다. 입력 텍스트는 구분자 없음(00AAFF), 공백(00 AA FF), 콤마(00, AA, FF), 콜론(00:AA:FF) 네 형식 중 하나여야 합니다. 예: "AF 00 B0" → AF 00 B0
- 입력: 16진수 텍스트 [텍스트]
- 출력: 변환된 바이트 배열 [바이트 배열]
바이트 배열을 16진수 텍스트로 변환

바이트 배열을 공백으로 구분한 16진수 텍스트로 변환합니다. 예: AF 00 B0 → "AF 00 B0"
- 입력: 바이트 배열 [바이트 배열]
- 출력: 변환된 16진수 텍스트 [텍스트]
단위 변환
길이, 압력, 에너지, 속도, 온도, 천문 거리, 각도, 좌표(도·분·초), 방위를 변환합니다. 입력 단위와 출력 단위는 블록의 드롭다운에서 선택합니다. 삼각함수와 좌표 변환처럼 도와 라디안이 섞이는 계산은 각도 단위 변환 블록으로 맞춥니다.
길이 단위 변환

길이의 단위를 변환합니다. 지원 단위: 미터(m), 인치(in), 피트(ft), 야드(yd), 마일(mi), 해리(nm), 패덤(ftm). 예: 1미터 → 39.37인치
- 입력: 입력 단위 길이 [숫자]
- 출력: 출력 단위 길이 [숫자]
압력 단위 변환

압력의 단위를 변환합니다. 지원 단위: mH2O, 토르(Torr), 공학기압(at), 기압(atm), 파스칼(Pa), 바(bar). 예: 1기압 → 101,325파스칼
- 입력: 입력 단위 압력 [숫자]
- 출력: 출력 단위 압력 [숫자]
에너지 단위 변환

에너지의 단위를 변환합니다. 지원 단위: 쥴(J), 칼로리(C), 와트시(Wh). 예: 1칼로리 → 4.184쥴
- 입력: 입력 단위 에너지 [숫자]
- 출력: 출력 단위 에너지 [숫자]
속도 단위 변환

속도의 단위를 변환합니다. 지원 단위: m/s, km/h, 노트(kn), mi/h. 예: 100km/h → 27.78m/s
- 입력: 입력 단위 속도 [숫자]
- 출력: 출력 단위 속도 [숫자]
온도 단위 변환

온도의 단위를 변환합니다. 지원 단위: 켈빈(K), 섭씨(℃), 화씨(F), 뢰머도(°Rø), 란씨(°R). 예: 20℃ → 68°F
- 입력: 입력 단위 온도 [숫자]
- 출력: 출력 단위 온도 [숫자]
천문거리 단위 변환

천문 거리의 단위를 변환합니다. 지원 단위: 미터(m), 천문단위(AU), 파섹(pc), 광년(ly). 예: 1광년 → 9.461 × 10¹⁵미터
- 입력: 입력 단위 천문거리 [숫자]
- 출력: 출력 단위 천문거리 [숫자]
각도 단위 변환

각도를 도(°)와 라디안(rad) 사이에서 변환합니다. 도→라디안은 π/180을, 라디안→도는 180/π를 곱합니다. 예: 90° → 1.571라디안
- 입력: 입력 단위 각도 [숫자]
- 출력: 출력 단위 각도 [숫자]
좌표 도/분/초를 도(소수점)로 변환

도(degree), 분(minute), 초(second)로 된 좌표를 소수점 형식의 도(decimal degree)로 변환합니다. 예: 37도 33분 51.17초 → 37.564214도
- 입력: 도 [숫자], 분 [숫자], 초 [숫자]
- 출력: 도 [숫자]
좌표 도(소수점)를 도/분/초로 변환

소수점 형식의 도를 도, 분, 초로 나누어 리스트로 반환합니다. 예: 37.564214도 → [37, 33, 51.17]
- 입력: 도 [숫자]
- 출력: [도, 분, 초] [리스트]
각도를 방위 문자로 변환

각도를 8방위 문자로 변환합니다. 방위 표기: N(북), NE(북동), E(동), SE(남동), S(남), SW(남서), W(서), NW(북서). 예: 45도 → "NE", 180도 → "S"
- 입력: 각도 [숫자]
- 출력: 방위 문자 [텍스트]
자연/과학
태양과 달의 출몰 시각·방위·고도, 습공기 특성, 표준 대기압, 해수면 기압 보정을 계산합니다. 출력 항목은 블록의 드롭다운에서 선택하며, 선택한 항목에 따라 출력 타입이 시간 또는 숫자로 달라집니다. 위도와 경도는 도(°) 단위, 고도는 미터(m), 온도는 섭씨(°C), 기압은 파스칼(Pa)입니다.
태양의 뜨는/지는/남중 시간, 방위각, 고도

태양의 뜨는 시간, 지는 시간, 남중 시간(특정 날짜에 태양이 뜨고 지는 시각과 가장 높이 뜨는 시각), 방위각(특정 시각의 수평 방향 각도), 고도(특정 시각의 수직 방향 각도) 중 하나를 계산합니다. 박명 옵션은 없음, 시민박명, 항해박명, 천문박명 중에서 선택합니다.
- 입력: 위도 (°) [숫자], 경도 (°) [숫자], 날짜 [날짜], 시간 [시간]
- 출력: 시간 [시간] 또는 각도 [숫자]
달의 뜨는/지는/남중 시간, 방위각, 고도, 위상

달의 뜨는 시간, 지는 시간, 남중 시간, 방위각, 고도, 위상 중 하나를 계산합니다. 위상은 달의 모양 변화를 0(새달), 0.5(반달), 1(보름달) 눈금의 숫자로 나타냅니다.
- 입력: 위도 (°) [숫자], 경도 (°) [숫자], 날짜 [날짜], 시간 [시간]
- 출력: 시간 [시간] 또는 각도·위상 값 [숫자]
공기의 습도/온도 특성 계산

습공기의 특성을 계산합니다. 계산할 수 있는 속성은 습도비, 습구온도, 이슬점온도, 상대습도, 수증기압, 엔탈피, 비체적, 밀도, 포화도, 포화수증기압, 증기압부족, 절대습도, 습도부족 13종입니다. 입력 조건은 건구온도와 고도에 더해 습구온도, 이슬점온도, 상대습도 중 하나를 드롭다운으로 선택하여 넣습니다.
- 입력: 건구온도 (°C) [숫자], 고도 (m) [숫자], 습구온도 또는 이슬점온도 또는 상대습도 [숫자]
- 출력: 계산된 공기 속성 값 [숫자]
특정 고도에서의 표준 대기압/온도

국제표준대기(ISA) 모델로 특정 고도의 표준 대기압 또는 온도를 계산합니다. 예: 고도 1000m → 표준 대기압 89,875Pa, 표준 온도 8.5°C
- 입력: 고도 (m) [숫자]
- 출력: 표준 대기압 (Pa) 또는 표준 온도 (°C) [숫자]
대기압과 해수면 기압 간 변환

대기압과 해수면 기압을 서로 변환합니다. 해수면 기압을 선택하면 특정 고도에서 잰 대기압을 해수면 기준으로 보정한 값을, 대기압을 선택하면 해수면 기압을 특정 고도의 실제 대기압으로 바꾼 값을 반환합니다. 기상 관측에서 고도 차이로 생기는 기압 차이를 보정할 때 사용합니다.
- 입력: 기압 (Pa) [숫자], 고도 (m) [숫자], 온도 (°C) [숫자]
- 출력: 변환된 기압 (Pa) [숫자]
비트/바이트
정수를 비트와 바이트 단위로 다루는 블록입니다. 모든 입력 값은 4바이트(32비트) 정수로 자동 변환되며, 비트와 바이트의 위치는 0부터 세고 위치 0이 LSB(Least Significant Bit/Byte)입니다. 분해 블록이 만드는 리스트와 합치기 블록이 받는 리스트는 첫 번째 항목이 LSB이며, 비트 리스트의 항목은 [디지털], 바이트·워드 리스트의 항목은 [숫자]입니다. 합치기 블록에는 리스트 만들기 블록을 연결하여 항목을 넣습니다.
비트단위 AND / OR / XOR

두 입력 값의 비트단위 논리곱(AND), 논리합(OR), 배타적 논리합(XOR) 중 하나를 계산합니다. 입력 값은 정수로 자동 변환됩니다.
- 입력: 값1 [숫자], 값2 [숫자]
- 출력: 계산 값 [숫자]
비트단위 NOT

입력 값의 모든 비트를 반전(NOT)합니다. 입력 값은 정수로 자동 변환됩니다.
- 입력: 값 [숫자]
- 출력: 계산 값 [숫자]
비트 이동 / 회전

입력 값의 비트를 지정한 비트 수만큼 좌측 또는 우측으로 이동(shift)하거나 회전(rotate)합니다. 입력 값은 정수로 자동 변환됩니다.
- 입력: 값 [숫자], 이동 또는 회전할 비트수 [숫자]
- 출력: 결과 값 [숫자]
비트 반전

지정한 비트 위치부터 n개의 비트 값을 반전합니다(true ↔ false). 입력 값은 4바이트(32비트) 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB입니다.
- 입력: 값 [숫자], 시작 위치 [숫자], 반전할 갯수 [숫자]
- 출력: 계산 값 [숫자]
참인 비트 갯수

입력 값에서 true(1)인 비트의 개수를 셉니다. 입력 값은 4바이트(32비트) 정수로 자동 변환됩니다.
- 입력: 값 [숫자]
- 출력: true 비트 갯수 [숫자]
비트 리스트로 분해

입력 값을 비트 리스트로 분해합니다. 입력 값은 4바이트(32비트) 정수로 자동 변환되며, 리스트의 첫 번째 항목이 LSB입니다. 예: 10진수 123 → 2진수 01111011 → [참, 참, 거짓, 참, 참, 참, 참, 거짓]
- 입력: 값 [숫자]
- 출력: 분해된 비트 [리스트]
바이트 리스트로 분해

입력 값을 바이트 리스트로 분해합니다. 입력 값은 4바이트 정수로 자동 변환되며, 리스트의 첫 번째 항목이 LSB(Least Significant Byte)입니다.
- 입력: 값 [숫자]
- 출력: 분해된 바이트 [리스트]
워드(2바이트) 리스트로 분해

입력 값을 워드(2바이트) 리스트로 분해합니다. 입력 값은 4바이트 정수로 자동 변환되며, 리스트의 첫 번째 항목이 하위 워드(Least Significant Word)입니다.
- 입력: 값 [숫자]
- 출력: 분해된 워드 [리스트]
비트 리스트 합치기

비트 리스트를 4바이트(32비트) 정수로 합칩니다. 리스트의 첫 번째 항목이 LSB입니다. 예: [참, 참, 거짓, 참, 참, 참, 참, 거짓] → 2진수 01111011 → 10진수 123
- 입력: 비트 리스트 [리스트]
- 출력: 합친 정수 값 [숫자]
바이트 리스트 합치기

바이트 리스트를 4바이트 정수로 합칩니다. 리스트의 첫 번째 항목이 LSB(Least Significant Byte)입니다.
- 입력: 바이트 리스트 [리스트]
- 출력: 합친 정수 값 [숫자]
워드(2바이트) 리스트 합치기

워드(2바이트) 리스트를 4바이트 정수로 합칩니다. 리스트의 첫 번째 항목이 하위 워드(Least Significant Word)입니다.
- 입력: 워드 리스트 [리스트]
- 출력: 합친 정수 값 [숫자]
비트 추출

지정한 비트 위치부터 n개의 비트를 추출하여 숫자로 반환합니다. 입력 값은 4바이트(32비트) 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB입니다.
- 입력: 값 [숫자], 위치 [숫자], 갯수 [숫자]
- 출력: 추출된 값 [숫자]
바이트 추출

지정한 바이트 위치부터 n개의 바이트를 추출하여 숫자로 반환합니다. 입력 값은 4바이트 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB(Least Significant Byte)입니다.
- 입력: 값 [숫자], 위치 [숫자], 갯수 [숫자]
- 출력: 추출된 값 [숫자]
비트 순서 역전

지정한 비트 위치부터 지정한 개수만큼의 비트 순서를 뒤집습니다. 입력 값은 4바이트(32비트) 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB입니다.
- 입력: 값 [숫자], 위치 [숫자], 갯수 [숫자]
- 출력: 계산 값 [숫자]
바이트 순서 역전

지정한 바이트 위치부터 지정한 개수만큼의 바이트 순서를 뒤집습니다. 입력 값은 4바이트 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB(Least Significant Byte)입니다.
- 입력: 값 [숫자], 위치 [숫자], 갯수 [숫자]
- 출력: 계산 값 [숫자]
워드(2바이트) 순서 역전

입력 값의 상위 워드와 하위 워드(2바이트씩)의 순서를 맞바꿉니다. 입력 값은 4바이트 정수로 자동 변환됩니다.
- 입력: 값 [숫자]
- 출력: 계산 값 [숫자]
비트 설정

지정한 비트 위치부터 n개의 비트를 true 또는 false로 설정합니다. 입력 값은 4바이트(32비트) 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB입니다.
- 입력: 값 [숫자], 위치 [숫자], 갯수 [숫자], 값 [디지털]
- 출력: 계산 값 [숫자]
바이트 설정

지정한 바이트 위치부터 n개의 바이트를 0~255 범위의 값으로 설정합니다. 입력 값은 4바이트 정수로 자동 변환되며, 위치는 0부터 시작하고 위치 0이 LSB(Least Significant Byte)입니다.
- 입력: 값 [숫자], 위치 [숫자], 갯수 [숫자], 값 [숫자]
- 출력: 계산 값 [숫자]
10진수를 BCD 리스트로 변환

10진수 입력 값을 BCD(Binary Coded Decimal) 리스트로 변환합니다.
- 입력: 값 [숫자]
- 출력: 변환된 BCD 리스트 [리스트]
BCD 리스트를 10진수로 변환

BCD 리스트를 10진수로 변환합니다.
- 입력: BCD 리스트 [리스트]
- 출력: 변환된 값 [숫자]
복소수/벡터
복소수와 3차원 벡터 연산입니다. 복소수와 3차원 벡터는 별도의 데이터 타입이며, 복소수 생성 블록과 3차원 벡터 생성 블록으로 값을 만들어 다른 블록의 입력에 연결합니다. 편각과 벡터 사이의 각도는 라디안(rad) 단위입니다.
복소수 생성

실수부와 허수부로 복소수를 만듭니다. 예: 3 + 4i
- 입력: 실수부 [숫자], 허수부 [숫자]
- 출력: 복소수 [복소수]
실수부 / 허수부 추출

복소수의 실수부 또는 허수부를 추출합니다. 예: (3 + 4i)의 실수부 → 3
- 입력: 복소수 [복소수]
- 출력: 실수부 또는 허수부 [숫자]
절대값

복소수의 절대값(크기)을 계산합니다. 예: |3 + 4i| → 5
- 입력: 복소수 [복소수]
- 출력: 절대값 [숫자]
노름(norm)

복소수의 노름(절대값의 제곱)을 계산합니다. 예: norm(3 + 4i) → 25
- 입력: 복소수 [복소수]
- 출력: 노름 [숫자]
켤레복소수

복소수의 켤레복소수를 계산합니다. 허수부의 부호가 바뀝니다. 예: conj(3 + 4i) → 3 - 4i
- 입력: 복소수 [복소수]
- 출력: 켤레복소수 [복소수]
복소수 같음 비교

두 복소수가 같은지 비교합니다. 실수부와 허수부가 모두 같아야 참입니다.
- 입력: 복소수1 [복소수], 복소수2 [복소수]
- 출력: 같음 여부 [디지털]
복소수의 편각

복소수의 편각(argument)을 라디안 단위로 계산합니다. 복소평면에서 양의 실수축과 이루는 각도입니다.
- 입력: 복소수 [복소수]
- 출력: 편각 [숫자]
극형식으로 복소수 생성

극형식(크기와 편각)으로 복소수를 만듭니다. 크기 r, 편각 θ → r(cosθ + i sinθ). 편각은 라디안 단위입니다.
- 입력: 크기 [숫자], 편각 [숫자]
- 출력: 복소수 [복소수]
복소수 사칙연산

두 복소수의 덧셈, 뺄셈, 곱셈, 나눗셈 중 하나를 계산합니다.
- 입력: 복소수1 [복소수], 복소수2 [복소수]
- 출력: 연산 결과 [복소수]
복소수 삼각함수

복소수의 삼각함수 sin, cos, tan과 쌍곡함수 sinh, cosh, tanh 중 하나를 계산합니다.
- 입력: 복소수 [복소수]
- 출력: 삼각함수 결과 [복소수]
복소수 초월함수

복소수의 지수함수(e^), 자연로그(ln), 상용로그(log₁₀), 제곱근(√) 중 하나를 계산합니다.
- 입력: 복소수 [복소수]
- 출력: 초월함수 결과 [복소수]
복소수 거듭제곱

복소수의 거듭제곱을 계산합니다. 밑과 지수 모두 복소수를 받습니다.
- 입력: 밑 [복소수], 지수 [복소수]
- 출력: 거듭제곱 결과 [복소수]
복소수 역원

복소수의 덧셈 역원(-z) 또는 곱셈 역원(1/z)을 계산합니다.
- 입력: 복소수 [복소수]
- 출력: 역원 [복소수]
3차원 벡터 생성

x, y, z 성분으로 3차원 벡터를 만듭니다.
- 입력: x [숫자], y [숫자], z [숫자]
- 출력: 벡터 [3차원 벡터]
벡터 성분 추출

3차원 벡터의 x, y, z 성분 중 선택한 하나를 구합니다.
- 입력: 벡터 [3차원 벡터]
- 출력: 벡터의 x 또는 y 또는 z 성분 [숫자]
벡터의 길이

3차원 벡터의 길이(절대값)를 구합니다.
- 입력: 벡터 [3차원 벡터]
- 출력: 벡터의 길이 [숫자]
단위 벡터

3차원 벡터와 방향이 같고 길이가 1인 단위 벡터를 구합니다.
- 입력: 벡터 [3차원 벡터]
- 출력: 단위 벡터 [3차원 벡터]
영 벡터 확인

3차원 벡터의 모든 성분이 0이면 true, 그렇지 않으면 false를 반환합니다.
- 입력: 벡터 [3차원 벡터]
- 출력: 영 벡터 여부 [디지털]
역방향 벡터

3차원 벡터와 방향이 반대인 벡터를 구합니다.
- 입력: 벡터 [3차원 벡터]
- 출력: 역방향 벡터 [3차원 벡터]
벡터 덧셈/뺄셈

두 3차원 벡터를 더하거나 뺍니다.
- 입력: 벡터1 [3차원 벡터], 벡터2 [3차원 벡터]
- 출력: 계산 벡터 [3차원 벡터]
벡터 간 각도

두 3차원 벡터 사이의 각도를 구합니다. 각도의 단위는 라디안(rad)입니다.
- 입력: 벡터1 [3차원 벡터], 벡터2 [3차원 벡터]
- 출력: 두 벡터 사이의 각도 [숫자]
벡터 평행 여부

두 3차원 벡터가 평행하면 true, 그렇지 않으면 false를 반환합니다.
- 입력: 벡터1 [3차원 벡터], 벡터2 [3차원 벡터]
- 출력: 두 벡터의 평행 여부 [디지털]
벡터와 축 간 각도

3차원 벡터와 x, y, z 축 중 선택한 축 사이의 각도를 구합니다.
- 입력: 벡터 [3차원 벡터]
- 출력: 벡터와 선택된 축 사이의 각도 [숫자]
벡터의 내적 (inner product)

두 3차원 벡터의 내적을 구합니다. 결과는 숫자입니다.
- 입력: 벡터1 [3차원 벡터], 벡터2 [3차원 벡터]
- 출력: 두 벡터의 내적 [숫자]
벡터의 외적 (cross product)

두 3차원 벡터의 외적을 구합니다. 결과는 3차원 벡터입니다.
- 입력: 벡터1 [3차원 벡터], 벡터2 [3차원 벡터]
- 출력: 두 벡터의 외적 [3차원 벡터]
벡터의 스칼라 곱셈

3차원 벡터에 배율을 곱한 벡터를 계산합니다.
- 입력: 벡터 [3차원 벡터], 배율 [숫자]
- 출력: 계산 벡터 [3차원 벡터]
JSON
JSON 텍스트를 파싱하고, JSON 객체와 JSON 배열을 조회·편집하고, 다시 텍스트로 만듭니다. JSON 값은 참/거짓, 숫자, 문자열, JSON 객체, JSON 배열 중 하나이며(빈값 null 포함), 입력과 출력에서 [JSON 값]으로 표기합니다. 배열의 위치는 0부터 세고, 찾지 못하면 -1을 반환합니다. 편집 블록은 수정된 JSON 객체 또는 배열을 출력으로 반환하므로, 결과를 변수에 쓰거나 다음 블록에 연결해야 이어서 사용할 수 있습니다.
텍스트를 JSON으로 변환

JSON 형식의 텍스트를 JSON 객체로 변환(파싱)합니다.
- 입력: 텍스트 [텍스트]
- 출력: JSON 객체 [JSON 객체]
경로로 JSON 값 가져오기

JSON 구조에서 지정한 경로에 해당하는 값을 반환합니다. 경로는 RFC 6901 JSON Pointer 표준을 따릅니다. 경로는 슬래시(/)로 시작하고, 객체의 멤버는 이름으로, 배열의 요소는 0부터 시작하는 번호로 내려갑니다. 예: /students/0/name
- 입력: JSON 구조 [JSON 객체 또는 JSON 배열], 경로 [텍스트]
- 출력: 경로의 값 [JSON 값]
예를 들어 아래 JSON 구조에서 경로 /user/profile/contact/phones/1의 값은 "010-9876-5432"입니다. phones는 배열이므로 두 번째 요소의 번호가 1입니다.
{
"user": {
"profile": {
"name": "Alice",
"contact": {
"phones": [
"010-1234-5678",
"010-9876-5432"
],
"email": "alice@example.com"
}
}
}
}
JSON 객체 멤버 존재 확인

JSON 객체에 지정한 이름의 멤버가 있으면 참, 없으면 거짓을 반환합니다.
- 입력: JSON 객체 [JSON 객체], 멤버 이름 [텍스트]
- 출력: 멤버 존재 여부 [디지털]
JSON 객체 멤버값 가져오기

JSON 객체에서 지정한 이름의 멤버 값을 구합니다.
- 입력: JSON 객체 [JSON 객체], 멤버 이름 [텍스트]
- 출력: 멤버 값 [JSON 값]
JSON 객체 멤버 개수

JSON 객체의 멤버 개수를 반환합니다.
- 입력: JSON 객체 [JSON 객체]
- 출력: 멤버 개수 [숫자]
JSON 객체 비어있음 확인

JSON 객체에 멤버가 하나도 없으면 참, 그렇지 않으면 거짓을 반환합니다.
- 입력: JSON 객체 [JSON 객체]
- 출력: 비어있음 여부 [디지털]
JSON 배열 크기

JSON 배열의 크기(요소의 개수)를 반환합니다.
- 입력: JSON 배열 [JSON 배열]
- 출력: 배열 크기 [숫자]
JSON 배열 값 가져오기

JSON 배열에서 지정한 위치의 값을 구합니다. 위치는 0부터 시작합니다.
- 입력: JSON 배열 [JSON 배열], 위치 [숫자]
- 출력: 배열 요소 값 [JSON 값]
JSON 배열 비어있음 확인

JSON 배열이 비어 있으면 참, 그렇지 않으면 거짓을 반환합니다.
- 입력: JSON 배열 [JSON 배열]
- 출력: 비어있음 여부 [디지털]
JSON 배열 값 위치 찾기

JSON 배열에서 지정한 값이 처음 나타나는 위치를 구합니다. 위치는 0부터 시작하며, 찾지 못하면 -1을 반환합니다.
- 입력: JSON 배열 [JSON 배열], 찾을 값 [JSON 값]
- 출력: 값의 위치 [숫자]
JSON 값 타입 확인

JSON 값의 타입이 선택한 타입과 일치하면 참, 그렇지 않으면 거짓을 반환합니다. 타입은 참/거짓, 숫자, 문자열, JSON 객체, JSON 배열, 빈값(null) 중에서 선택합니다.
- 입력: JSON 값 [JSON 값]
- 출력: 타입 일치 여부 [디지털]
빈 JSON 객체 만들기

멤버가 없는 빈 JSON 객체를 만듭니다.
- 입력: 없음
- 출력: 빈 JSON 객체 [JSON 객체]
JSON 객체 멤버 추가

JSON 객체에 지정한 이름과 값을 가진 멤버를 추가합니다.
- 입력: JSON 객체 [JSON 객체], 멤버 이름 [텍스트], 멤버 값 [JSON 값]
- 출력: 수정된 JSON 객체 [JSON 객체]
JSON 객체 멤버 값 변경

JSON 객체에서 지정한 이름의 멤버 값을 변경합니다.
- 입력: JSON 객체 [JSON 객체], 멤버 이름 [텍스트], 새 값 [JSON 값]
- 출력: 수정된 JSON 객체 [JSON 객체]
JSON 객체 멤버 삭제

JSON 객체에서 지정한 이름의 멤버를 삭제합니다.
- 입력: JSON 객체 [JSON 객체], 멤버 이름 [텍스트]
- 출력: 수정된 JSON 객체 [JSON 객체]
JSON 객체 모든 멤버 삭제

JSON 객체의 모든 멤버를 삭제합니다.
- 입력: JSON 객체 [JSON 객체]
- 출력: 빈 JSON 객체 [JSON 객체]
빈 JSON 배열 만들기

값이 없는 빈 JSON 배열을 만듭니다.
- 입력: 없음
- 출력: 빈 JSON 배열 [JSON 배열]
JSON 배열 끝에 값 추가

JSON 배열의 마지막에 값을 추가합니다.
- 입력: JSON 배열 [JSON 배열], 추가할 값 [JSON 값]
- 출력: 확장된 JSON 배열 [JSON 배열]
JSON 배열 값 변경

JSON 배열에서 지정한 위치의 값을 변경합니다. 위치는 0부터 시작합니다.
- 입력: JSON 배열 [JSON 배열], 위치 [숫자], 새 값 [JSON 값]
- 출력: 수정된 JSON 배열 [JSON 배열]
JSON 배열 값 삭제

JSON 배열에서 지정한 위치의 값을 삭제합니다. 위치는 0부터 시작합니다.
- 입력: JSON 배열 [JSON 배열], 위치 [숫자]
- 출력: 축소된 JSON 배열 [JSON 배열]
JSON 배열 모든 값 삭제

JSON 배열의 모든 값을 삭제합니다.
- 입력: JSON 배열 [JSON 배열]
- 출력: 빈 JSON 배열 [JSON 배열]
JSON 객체를 텍스트로 변환

JSON 객체를 JSON 형식의 텍스트로 변환합니다.
- 입력: JSON 객체 [JSON 객체]
- 출력: JSON 텍스트 [텍스트]
XML
XML 텍스트를 파싱하고, XML 요소의 이름·값·속성·자식 요소를 조회·편집하고, 다시 텍스트로 만듭니다. 편집 블록은 수정된 XML 요소를 출력으로 반환합니다.
[2]처럼
대괄호로 쓰는 번호는 1부터 세지만, 위치로 자식 요소 가져오기·삭제 블록의 위치는 0부터
셉니다. 같은 두 번째 자식이라도 XPath에서는 phone[2], 위치 블록에서는 1입니다.
텍스트를 XML 요소로 변환

XML 형식의 텍스트를 XML 요소로 변환(파싱)합니다.
- 입력: 텍스트 [텍스트]
- 출력: XML 요소 [XML 요소]
경로로 XML 값 가져오기

XML 요소에서 지정한 XPath 경로에 해당하는 값, 속성 또는 요소를 반환합니다. 경로 예시: /bookstore/books[1]/title, /book/@id. XPath의 대괄호 번호는 1부터 셉니다.
- 입력: XML 요소 [XML 요소], 경로 [텍스트]
- 출력: 경로의 값 [디지털, 숫자, 텍스트 또는 XML 요소]
예를 들어 아래 XML 구조에서 경로 /user/profile/contact/phones/phone[2]의 값은 "010-9876-5432"입니다.
<user>
<profile>
<name>Alice</name>
<contact>
<phones>
<phone>010-1234-5678</phone>
<phone>010-9876-5432</phone>
</phones>
<email>alice@example.com</email>
</contact>
</profile>
</user>
XML 요소 만들기

이름과 값으로 새 XML 요소를 만듭니다.
- 입력: 요소 이름 [텍스트], 요소 값 [디지털, 숫자, 텍스트]
- 출력: 새 XML 요소 [XML 요소]
XML 요소 이름 가져오기

XML 요소의 이름(태그명)을 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 요소 이름 [텍스트]
XML 요소 이름 변경

XML 요소의 이름(태그명)을 변경합니다.
- 입력: XML 요소 [XML 요소], 새 이름 [텍스트]
- 출력: 수정된 XML 요소 [XML 요소]
XML 요소 비어있음 확인

XML 요소에 값과 자식 요소가 모두 없으면 참, 그렇지 않으면 거짓을 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 비어있음 여부 [디지털]
XML 요소 텍스트 값 존재 확인

XML 요소에 텍스트 값이 있으면 참, 그렇지 않으면 거짓을 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 값 존재 여부 [디지털]
XML 요소 텍스트 값 가져오기

XML 요소의 텍스트 값을 구합니다. 값이 없거나 자식 요소만 있는 경우 빈 텍스트를 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 요소 값 [텍스트]
XML 요소 텍스트 값 변경

XML 요소의 텍스트 값을 변경합니다.
- 입력: XML 요소 [XML 요소], 새 값 [디지털, 숫자, 텍스트]
- 출력: 수정된 XML 요소 [XML 요소]
XML 요소 속성 존재 확인

XML 요소에 속성이 1개 이상 있으면 참, 하나도 없으면 거짓을 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 속성 존재 여부 [디지털]
XML 요소 특정 속성 존재 확인

XML 요소에 지정한 이름의 속성이 있으면 참, 그렇지 않으면 거짓을 반환합니다.
- 입력: XML 요소 [XML 요소], 속성 이름 [텍스트]
- 출력: 속성 존재 여부 [디지털]
XML 속성 값 가져오기

XML 요소에서 지정한 이름의 속성 값을 구합니다.
- 입력: XML 요소 [XML 요소], 속성 이름 [텍스트]
- 출력: 속성 값 [텍스트]
XML 속성 추가

XML 요소에 지정한 이름과 값을 가진 속성을 추가합니다.
- 입력: XML 요소 [XML 요소], 속성 이름 [텍스트], 속성 값 [텍스트]
- 출력: 수정된 XML 요소 [XML 요소]
XML 속성 값 변경

XML 요소에서 지정한 이름의 속성 값을 변경합니다.
- 입력: XML 요소 [XML 요소], 속성 이름 [텍스트], 새 값 [텍스트]
- 출력: 수정된 XML 요소 [XML 요소]
XML 속성 삭제

XML 요소에서 지정한 이름의 속성을 삭제합니다.
- 입력: XML 요소 [XML 요소], 속성 이름 [텍스트]
- 출력: 수정된 XML 요소 [XML 요소]
XML 모든 속성 삭제

XML 요소의 모든 속성을 삭제합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 수정된 XML 요소 [XML 요소]
XML 자식 요소 존재 확인

XML 요소에 자식 요소가 1개 이상 있으면 참, 하나도 없으면 거짓을 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 자식 존재 여부 [디지털]
XML 특정 자식 요소 존재 확인

XML 요소에 지정한 이름의 자식 요소가 있으면 참, 그렇지 않으면 거짓을 반환합니다.
- 입력: XML 요소 [XML 요소], 자식 이름 [텍스트]
- 출력: 자식 존재 여부 [디지털]
XML 자식 요소 개수

XML 요소의 자식 요소 개수를 반환합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 자식 개수 [숫자]
XML 이름으로 자식 요소 가져오기

XML 요소에서 지정한 이름의 자식 요소를 구합니다.
- 입력: XML 요소 [XML 요소], 자식 이름 [텍스트]
- 출력: 자식 XML 요소 [XML 요소]
XML 위치로 자식 요소 가져오기

XML 요소에서 지정한 위치의 자식 요소를 구합니다. 위치는 0부터 시작합니다.
- 입력: XML 요소 [XML 요소], 자식 위치 [숫자]
- 출력: 자식 XML 요소 [XML 요소]
XML 자식 요소 추가

XML 요소에 자식 요소를 추가합니다.
- 입력: XML 요소 [XML 요소], 자식 요소 [XML 요소]
- 출력: 수정된 XML 요소 [XML 요소]
XML 이름으로 자식 요소 삭제

XML 요소에서 지정한 이름을 가진 첫 번째 자식 요소를 삭제합니다. 같은 이름의 자식이 여러 개라도 첫 번째 하나만 삭제됩니다.
- 입력: XML 요소 [XML 요소], 자식 이름 [텍스트]
- 출력: 수정된 XML 요소 [XML 요소]
XML 위치로 자식 요소 삭제

XML 요소에서 지정한 위치의 자식 요소를 삭제합니다. 위치는 0부터 시작합니다.
- 입력: XML 요소 [XML 요소], 자식 위치 [숫자]
- 출력: 수정된 XML 요소 [XML 요소]
XML 모든 자식 요소 삭제

XML 요소의 모든 자식 요소를 삭제합니다.
- 입력: XML 요소 [XML 요소]
- 출력: 수정된 XML 요소 [XML 요소]
XML 요소를 텍스트로 변환

XML 요소를 텍스트로 변환합니다. 체크박스를 켜면 텍스트의 첫 줄에 XML 선언을 추가합니다.
- 입력: XML 요소 [XML 요소], XML 선언 추가 여부 [체크박스]
- 출력: XML 텍스트 [텍스트]
색상
색상 값을 만들고 성분을 꺼내는 블록입니다. RGB 성분은 0~255, HSV의 색조(H)는 0~360, 채도(S)와 명도(V)는 0~100 범위입니다.
색상 선택

색상 선택기(팔레트)에서 고른 색상 상수를 출력합니다.
- 입력: 없음
- 출력: 색상 [색상]
랜덤 색상

무작위 색상을 만듭니다.
- 입력: 없음
- 출력: 색상 [색상]
RGB 색상

빨강 (R), 초록 (G), 파랑 (B) 값으로 색상을 만듭니다. 각 값은 0~255 범위입니다. 예: 빨강 255, 초록 0, 파랑 0 → 빨간색
- 입력: 빨강 (R) [숫자], 초록 (G) [숫자], 파랑 (B) [숫자]
- 출력: 색상 [색상]
HSV 색상

색조 (H), 채도 (S), 명도 (V) 값으로 색상을 만듭니다. 색조는 0~360도, 채도와 명도는 0~100 범위입니다. 예: 색조 0, 채도 100, 명도 100 → 빨간색
- 입력: 색조 (H) [숫자], 채도 (S) [숫자], 명도 (V) [숫자]
- 출력: 색상 [색상]
색상 혼합

두 색상을 지정한 비율(0.0~1.0)로 혼합합니다. 비율 0은 첫 번째 색상, 1은 두 번째 색상입니다. 예: 빨강과 파랑을 0.5 비율로 혼합 → 보라색
- 입력: 색 1 [색상], 색 2 [색상], 비율 [숫자]
- 출력: 혼합된 색상 [색상]
색상에서 RGB 성분 추출

색상에서 빨강 (R), 초록 (G), 파랑 (B) 중 선택한 성분 값을 추출합니다. 반환값은 0~255 범위입니다. 예: 빨간색에서 빨강 (R) 추출 → 255
- 입력: 색상 [색상]
- 출력: 성분 값 [숫자]
색상에서 HSV 성분 추출

색상에서 색조 (H), 채도 (S), 명도 (V) 중 선택한 성분 값을 추출합니다. 색조는 0~360, 채도와 명도는 0~100 범위입니다. 예: 빨간색에서 색조 (H) 추출 → 0
- 입력: 색상 [색상]
- 출력: 성분 값 [숫자]
지역 변수
해당 블록 편집기 안에서만 사용하는 임시 변수입니다. 프로젝트 변수와 별개이며 다른 값 입력 항목의 블록 편집기나 대시보드에서는 보이지 않습니다. 여러 곳에서 공유할 값은 프로젝트 변수로 만듭니다(6부).
변수 만들기

지역 변수를 만듭니다. 지역 변수는 해당 블록 편집기 안에서만 사용할 수 있으며, 계산 중간값의 임시 저장 등에 사용합니다.
- 입력: 없음
- 출력: 없음
변수에 값 쓰기

지역 변수에 값을 씁니다.
- 입력: 변수에 쓸 값 [모든 타입]
- 출력: 없음
변수의 값 읽기

지역 변수의 값을 읽어옵니다.
- 입력: 없음
- 출력: 변수의 값 [모든 타입]
변수에 숫자 더하기

지역 변수에 저장된 값을 읽어 입력한 숫자를 더한 뒤 다시 저장합니다. 음수를 입력하면 빼기가 됩니다.
- 입력: 더할 값 [숫자]
- 출력: 없음
지역 함수
해당 블록 편집기 안에서 정의하여 호출하는 함수입니다. 반환값이 없는 함수와 있는 함수 두 가지를 정의할 수 있고, 톱니바퀴 버튼으로 입력 매개변수를 추가합니다. 정의한 함수는 같은 편집기 안의 다른 블록에서 호출 블록으로 실행하며, 호출 블록도 반환값 유무에 따라 두 가지입니다. 다음을 반환 블록은 지역 함수 안에서만 사용할 수 있습니다.
함수 (반환값 없음)

반환값이 없는 지역 함수(local function)를 만듭니다. 톱니바퀴 버튼으로 입력 매개변수를 추가할 수 있으며, 만든 함수는 해당 블록 편집기 안의 다른 블록에서 호출하여 실행합니다.
- 입력: 없음
- 출력: 없음
함수 (반환값 있음)

반환값이 있는 지역 함수를 만듭니다. 톱니바퀴 버튼으로 입력 매개변수를 추가할 수 있으며, 블록 아래의 다음을 반환 입력에 연결한 값이 함수의 반환값이 됩니다.
- 입력: 반환 값 [모든 타입]
- 출력: 없음
다음을 반환

조건을 만족하면 함수 도중에 값을 반환합니다. 지역 함수 블록 안에서만 사용할 수 있습니다.
- 입력: 조건 [디지털], 반환 값 [모든 타입]
- 출력: 없음
함수 호출 (반환값 없음)

미리 정의해 둔 반환값이 없는 지역 함수를 실행합니다.
- 입력: 함수에 정의된 매개변수(있는 경우)
- 출력: 없음
함수 호출 (반환값 있음)

미리 정의해 둔 반환값이 있는 지역 함수를 실행하고, 그 결과 값을 반환합니다.
- 입력: 함수에 정의된 매개변수(있는 경우)
- 출력: 함수의 반환 값 [모든 타입]