*자세한 내용을 확인하려면 '스크립트 보기'를 누르세요* Cascade Registry Library(CRL, Cascade 레지스트리 라이브러리)는 스크래치가 부족한 저장 수단을 가지고 있다는 점을 보완하기 위해 만들어진 프로젝트입니다. 스크래치는 변수, 리스트의 생성과 삭제가 자유롭지 못하고, 심지어 객체의 경우 생성할 수조차 없습니다. 따라서, 변수와 리스트, 객체를 개수 제한 없이(스크래치 자체의 한계 때문에 변수,리스트 합 최대 400000개의 제한은 존재합니다.) 사용할 수 있도록 만든 것이 이 프로젝트입니다. 이 프로젝트에서는 변수, 리스트, 객체를 자유롭게 생성하거나 수정, 삭제, 열람(read)이 가능합니다. 해당 기능들은 스크래치의 '내 블록'을 이용해 사용할 수 있습니다. 또한 배열과 JSON 또한 사용하실 수 있습니다.
Cascade Registry Library (0.5) 도움말 1. CRLG(Cascade Registry Library - General) CRLG는 스크래치에서의 변수와 거의 동일한 기능을 합니다. CRLG를 통해 값을 이름으로 저장하고 값을 변경할 수 있습니다. 각 인자가 의미하는 바는 다음과 같습니다. action: 무엇을 할 지를 정합니다. 할 수 있는 동작은 다음과 같습니다. 1) 미작성(merge): 변수가 없을 경우 변수를 만들어 값을 저장하고, 변수가 있을 경우 값을 입력한 값으로 변경합니다. 2) insert: 변수를 만듭니다. (merge 사용 권장) 3) set: 변수의 값을 입력한 값으로 변경됩니다. (merge 사용 권장) 4) delete: 선택한 변수를 지웁니다. 5) newLast: 기존값의 뒤에 새 값을 붙입니다. (기존 값이 Abc일 때 newLast로 123을 보내면 값이 Abc123으로 변경됩니다.) 6) newFirst: 기존값의 앞에 새 값을 붙입니다. (기존 값이 Abc일 때 newFirst로 123을 보내면 값이 123Abc로 변경됩니다.) 7) clear: 모든 값을 지웁니다. (위험) name: 어떤 변수에 동작을 수행할 지 정합니다. value: 동작의 값을 정합니다. delete에서는 사용되지 않습니다. 2. CRLL(Cascade Registry Library - List) 필수 라이브러리: CRLG(merge, plus, delete). CRLL은 스크래치에서의 리스트와 동일하게 기능합니다. CRLL을 통해 리스트를 생성, 수정, 삭제 및 관리할 수 있습니다. action: 무엇을 할 지를 정합니다. 할 수 있는 동작은 다음과 같습니다. 1) add: 스크래치에서 (값)을 (리스트)에 추가하기 기능과 같습니다. [(리스트)에 (값)을 추가합니다.] 2) delete: (#)번쩨 항목을 (리스트)에서 삭제하기와 같은 기능입니다. [(리스트)에서 (#)번째 항목을 삭제합니다.] 3) clear: (리스트)의 항목을 모두 삭제하기와 같은 기능입니다. [(리스트)의 모든 항목을 삭제합니다.] 4) insert: (값)을 (리스트)의 (#)번째에 넣기와 같은 기능입니다. [(값)을 (리스트)의 (#)번째에 넣(insert)습니다.] 5) replace: (리스트)의 (#)번째 항목을 (값)으로 바꾸기와 같은 기능입니다. [(리스트)의 (#)번째 항목의 값을 (값)으로 변경합니다.] --읽기 관련 동작-- 6) read: (리스트)의 (#)번째 항목의 값을 'RLPL_return'에 저장합니다. 7) location: (리스트)에서 (값)의 위치의 값을 'RLPL_return'에 저장합니다. 8) length: (리스트)의 길이의 값을 'RLPL_return'에 저장합니다. 9) contain: (리스트)가 (값)을 포함하는가?의 값을 'RLPL_return'에 저장합니다. 3. CRLA(Cascade Registry Library - ArrayHandler) 필수 라이브러리: CRLG(merge, plus, newLast, delete), cut, CascadeStringfier(incode, forceDecode), CRLL(add, length, read). CascadeSpaceRemover, backslashHandler, cut, 자기자신(spaceRemoved(내부 액션))) CRLA는 리스트에서 array를 추출하거나 array를 리스트로 불러옵니다. 주의: CRLA에서 작동하는 array가 외부와 거의 비슷한 처리 방식을 가지긴 하나, 항상 외부에서 사용하는 array와 같은 처리 방식을 가진다고 확신할 수 없습니다. 예를 들어 자바스크립트에서 사용하던 array를 그대로 CRLA에 동작시키거나, CRLA에서 처리된 array를 자바스크립트에 넣는 경우 오류가 발생할 수 있습니다. action: 무엇을 할지를 정합니다. 할 수 있는 동작은 다음과 같습니다. 1) export: (리스트)를 CRLAReturn으로 내보냅니다. 2) import: (리스트)에 (값)을 불러옵니다. 4. CRLO(Cascade Registry Library - Object) 필수 라이브러리: CRLG(merge, plus, delete) CRLO는 객체를 구현합니다. CRLO를 통해 객체를 생성, 수정, 삭제 및 관리할 수 있습니다. 1) 미작성(merge): (키)가 (객체) 안에 존재할 경우 (값)을 덮어씌우고, 없을 경우 insert와 동일하게 작동합니다. 2) insert: (키)와 (값) 쌍을 (객체)안에 저장합니다. (merge 사용 권장) 3) set: (객체)안 (키)의 값을 (값)으로 변경합니다. (merge 사용 권장) 4) setKey: (객체)안 (키)와 일키하는 키를 (키)로 변경합니다. 5) clear: (객체)를 삭제합니다. 6) delete: (객체) 안 (키)와 (키)의 값을 삭제합니다. --읽기 관련 동작-- 7) read: (객체) 안 (키)의 값을 읽어 'CRLOReturn'에 저장합니다. 8) length: (객체)의 (키) 개수를 'CRLOReturn'에 저장합니다. 9) contain: (객체) 안에 (키)가 존재하는지 확인합니다. 5. CRLJ(Cascade Registry Library - JSON) 필수 라이브러리: CRLG(merge, plus, newLast, delete), cut, CascadeStringfier(incode, forceDecode), CRLO(merge, length). CascadeSpaceRemover, backslashHandler, cut, 자기자신(spaceRemoved(내부 액션))) CRLJ는 객체에서 JSON을 추출하거나 JSON을 객체로 불러옵니다. 주의: CRLJ에서 작동하는 JSON이 항상 외부에서 사용하는 JSON과 같은 처리 방식을 가진도가 확신할 수 없습니다. 예를 들어 자바스크립트에서 사용하던 JSON을 그대로 CRLJ에 동작시키거나, CRLJ에서 처리된 JSON을 자바스크립트에 넣는 경우 오류가 발생할 수 있습니다. 1) export: (객체)를 CRLJReturn으로 내보냅니다. 2) import: (객체)에 (값)을 불러옵니다. 기타 모듈 CascadeStringfier: 문자열에 따옴표를 감싸거나 제거합니다. (사용 라이브러리: CRLG(merge, newLast, plus, delete), 자기자신(incode, decode)) CascadeSpaceRemover: 따옴표로 감싸진 부분을 제외한 스페이스를 제거합니다.(CRLG(merge, plus, newLast, delete), backslashHandler) cut: 문자열을 지정된 범위로 자릅니다. (사용 라이브러리: CRLG(merge, newLast. plus, delete)) backslashHandler: 역슬래시의 개수로 활성화 여부를 확인합니다. (사용 라이브러리: CRLG(merge, plus))