이 지침 매뉴얼은 동적 변수를 생성하고 Vizzy 환경 내에서 "구조체" 변수를 시뮬레이션하기 위해 비표준 방식으로 Vizzy를 활용하는 프로세스를 간략하게 설명합니다.
이 가이드는 Vizzy의 공개되지 않은 기능을 활용하므로 사전 통지 없이 향후 Juno 릴리스와 호환되지 않을 수 있습니다. 1.1.109.0년 9월 2023일 기준 최신 PC 버전인 XNUMX 버전에서 적용되는 것으로 확인되었습니다.
개요
Vizzy는 세 가지 기본 데이터 유형을 포함합니다.
- 부동 소수점 숫자
- 세 개의 부동 소수점 숫자로 구성된 벡터
- 문자열
또한 Vizzy는 목록 내의 각 항목이 앞서 언급한 세 가지 유형 중 하나에 속할 수 있는 목록 데이터 유형을 지원합니다. 목록의 모든 요소가 동일한 데이터 유형을 공유해야 한다는 요구 사항은 없습니다.
이러한 데이터 유형은 대부분의 목적에 충분하지만 목록 데이터 유형을 사용하지 않고 값 목록을 저장하는 것이 유리한 시나리오가 있습니다.
목록 데이터 유형을 피하는 이유가 궁금할 수 있습니다.
이 선택의 주요 근거는 상당한 성능 격차입니다. 버전 1.1.109의 성능 향상 주장에도 불구하고 목록 데이터 유형은 여전히 눈에 띄게 느립니다. 이 대체 구현에 대한 나의 약속은 이 버전이 출시될 때쯤 확고히 자리 잡았습니다.
게다가 목록 작업용으로 설계된 Vizzy 블록은 크기가 다루기 힘든 경향이 있습니다. 특히 프로그래밍 배경 지식이 부족한 사용자의 경우 이해를 돕기는 하지만 복잡한 Vizzy 애플리케이션을 만들 때 어려움을 겪습니다.
또 다른 단점은 FUNK 표현식을 통해 목록에 액세스할 수 없다는 것입니다. 보다 복잡한 수학적 표현의 경우 Vizzy 블록을 사용하여 계산을 구성하는 것보다 FUNK 표현 내에 계산을 캡슐화하는 것이 유리합니다. 그러나 방정식이 목록에 의존하는 경우 이 옵션은 매력을 잃습니다.
복잡한 애플리케이션 영역에서 녹색 블록으로 표시되는 명시적으로 선언된 변수 목록은 크기가 너무 커져 어떤 경우에는 터무니없는 수준에 이를 수 있습니다. 이러한 맥락에서 이 목록의 크기를 줄일 수 있는 방법은 매우 바람직합니다.
마지막으로, 이 기술을 사용하면 다른 복잡한 구조를 포함하는 복잡한 데이터 구조, 즉 "목록 목록"을 생성할 수 있다는 점에 주목할 가치가 있습니다. 이는 기존 목록이 복제할 수 없는 이 접근 방식의 고유한 기능 중 하나를 나타냅니다.
How To
나는 당신이 "변수 []를 []로 설정" Vizzy 블록을 잘 이해했다고 가정합니다. 개념은 간단합니다. "변수 생성" 버튼을 사용하여 변수를 설정하면 녹색 블록이 생성됩니다. 그런 다음 이 녹색 블록을 드래그하여 "변수 []를 []로 설정" 블록의 첫 번째 빈 슬롯을 차지하고 변수에 할당하려는 값을 오른쪽에 지정합니다.
그러나 대체 시나리오를 고려해 보겠습니다.
초기 슬롯에 녹색 블록을 정의하고 배치하지 않기로 결정했다면 어떻게 될까요? 대신에 다른 일을 하기로 결정했다면 어떻게 될까요?
결과는 다음과 같습니다. "'Active_Craft_ID' 변수에 '1' 값이 할당되었습니다." 즉, 초기 예에서 설명한 것과 동일한 작업을 수행합니다.
이제 “변수 생성” 버튼을 사용하여 변수 'Active_Craft_ID'를 정의하지 않았다면 어떻게 될까요? 음, 값은 여전히 'Active_Craft_ID'라는 이름의 변수에 할당됩니다. 그러나 녹색 블록을 통해서는 이 값을 검색할 수 없다는 것이 분명해졌습니다. 이에 대해서는 곧 자세히 살펴보겠습니다.
하지만 다른 시나리오를 고려해 보겠습니다.
이 방법도 예상한 방식으로 작동합니다. 결국에는 "Testing1"부터 "Testing10"까지 이름이 1인 변수 XNUMX개를 갖게 되며 모두 값이 XNUMX입니다.
이제 다음 질문이 생깁니다. "이 프로세스를 통해 생성된 변수에 어떻게 액세스합니까?" 당연히 다음 접근 방식으로는 원하는 결과를 얻을 수 없습니다.
주어진 시나리오에서 작업은 변수 "Testing1"의 값을 "Active_Craft_ID"에 할당하려는 의도로 문자열 "Testing1"을 변수 "Active_Craft_ID"에 할당합니다.
그러나 FUNK를 사용하는 솔루션이 있습니다. 기본적으로 FUNK 문자열 내에서 변수 이름을 지정하면 변수 참조로 해석됩니다. 결과적으로 이 접근 방식은 실제로 원하는 결과를 달성합니다.
이 접근 방식을 사용할 때 염두에 두어야 할 두 가지 중요한 고려 사항이 있습니다.
- FUNK 표현식은 변수를 참조하는 경우에도 문자열을 지원하지 않습니다. 문자열이 포함된 변수의 이름을 지정하고 FUNK 표현식을 통해 해당 변수에 액세스하려고 하면 결과는 0이 됩니다. 따라서 앞에서 설명한 대로 동적 변수에 문자열을 할당하는 것은 가능하지만 그렇게 할 수는 없습니다. "변수 만들기" 버튼을 사용하여 변수에 대한 녹색 블록을 만들지 않는 한 해당 값에 액세스할 수 있습니다.
- FUNK 표현식은 달리 지시되지 않는 한 기본적으로 변수가 부동 소수점 숫자라고 가정합니다. 동적 변수에 벡터를 저장한 경우 변수 이름 앞에 "v:"를 붙여 변수에 벡터가 포함되어 있음을 FUNK에 알려야 합니다.
동적 변수에 저장된 벡터에 액세스하는 올바른 방법은 다음과 같습니다.
이 코드는 벡터를 10개의 변수에 할당한 다음 10개의 벡터를 로컬 로그에 출력합니다.
결론적으로, XML 파일을 검사하여 알 수 있듯이 공예가 저장될 때 동적 변수가 실제로 직렬화된다는 것을 확인할 수 있습니다. 값이 정확하게 복원되었는지 확인하기 위한 검증을 수행하지는 않았지만 실제로 올바르게 복원되었다는 것에 대해서는 약 99.9%의 높은 신뢰도를 갖고 있습니다.
더 고급 주제
"도우미 함수"를 만드는 것은 유사한 값 모음에서 특정 값을 추출하는 프로세스를 단순화하는 데 매우 유용합니다. 다음은 이를 수행하는 방법에 대한 예입니다.
이러한 함수는 모두 상호 관련된 변수 집합을 나타내는 문자열인 단일 매개 변수로 작동하며 해당 그룹에서 특정 변수를 반환합니다.
동적 변수를 사용하여 수학 연산을 수행할 때 여기에 설명된 대로 가능할 때마다 FUNK 표현식을 활용하는 것이 좋습니다.
“Join” 블록 대신 “format” 블록을 사용하여 동일한 결과를 얻을 수 있지만 일반적으로 “Join” 블록이 더 빠른 것으로 간주된다는 점은 주목할 가치가 있습니다. 다음은 이러한 목적으로 "format" 블록을 사용하는 예입니다.
그것이 오늘 우리가 이것을 위해 공유하는 모든 것입니다 주노: 새로운 기원 가이드. 이 가이드는 원래 다음이 작성하고 작성했습니다. 리드2. 이 가이드를 업데이트하지 못한 경우 다음을 수행하여 최신 업데이트를 찾을 수 있습니다. 링크.