표현식 이란 평가 시 결과를 갖는 코드의 최소 단위입니다. Verse의 모든 것은 표현식이며, 따라서 모든 것이 값으로 평가됩니다.
예를 들어 if ... else 표현식의 경우, Verse에서
이 표현식 블록의 내용을 평가하고 그 결과에 따라 다른 값이 생성됩니다. 다음 코드는 MyNumber가 5보다 큰지 여부에 따라 'Big!' 또는 'Small!' 중 하나를 포함하는 string 값으로 평가됩니다.
if (MyNumber > 5):
“Big!”
else
“Small!”즉, if ... else를 함수에 직접 입력으로 사용할 수 있다는 뜻입니다. 결과를 저장하고 이 결과를 입력으로 사용하지 않아도 됩니다.
이 예시는 단순하지만 이것이 더 강력해질 수 있는 컨텍스트가 있습니다. 예를 들어 루프는 값 배열을 평가하므로 기존 배열을 바탕으로 새 배열을 빠르게 생성할 수 있습니다.
다음 코드에서 MyArray는 NumberArray에서 5 미만인 값을 모두 포함합니다.
MyArray : []int = for(Number := NumberArray, Number < 5):
Number실패 가능 표현식
실패 가능 표현식은 성공하여 값을 생성하거나, 실패하여 값을 반환하지 않을 수 있는 표현식입니다. 실패 가능 표현식은 실패 컨텍스트에서만 실행될 수 있습니다. 이 컨텍스트는 표현식이 실패할 때 어떤 일이 발생할지 정의하기 때문입니다.
실패 가능 표현식의 예로는 배열에 대한 인덱싱이 있습니다. 유효하지 않은 인덱스는 실패하기 때문입니다. 또한 두 가지 값을 비교하는 것 등의 연산자도 예로 들 수 있습니다. Verse의 실패 가능 표현식에 대한 자세한 내용은 실패를 참고하세요.
Verse의 표현식 목록
다음 표는 Verse의 여러 표현식을 설명합니다. 각 표현식에 대해 자세히 알아보려면 링크를 클릭하세요.
| 표현식 | 설명 | 표현식이 실패 가능한가? |
|---|---|---|
리터럴 | 리터럴은 숫자, 문자와 같이 코드 내 고정된 값입니다. Verse에는 다음과 같은 타입의 리터럴이 있습니다.
| |
함수 호출 | 함수 호출은 두 가지 양식을 갖는 표현식입니다. | 함수 호출이 |
비교 | 비교 표현식은 비교 연산자 중 하나를 사용하여 두 요소를 비교합니다.
자세한 내용은 연산자를 참조하세요. | 네 |
대입 | 대입 표현식은 변수를 초기화하거나 변수 값을 변경할 때 변경 가능 위치에 값을 저장합니다. 자세한 내용은 변수 및 상수를 참조하세요. | |
수학 | 수학 표현식은 연산자를 사용하여 계산을 수행합니다.
이 모든 연산자에는 포인터와 함께 사용할 수 있는 할당 변수도 있습니다. 자세한 내용은 연산자를 참조하세요. | integer 나눗셈만 해당됩니다. |
결정 | 결정 표현식은 연산자 | 네 |
쿼리 | 쿼리 표현식은 연산자 | 네 |
클래스 및 구조체 인스턴스화 | ||
컨트롤 플로 | 컨트롤 플로는 컴퓨터가 인스트럭션을 실행하는 순서입니다.
자세한 내용은 컨트롤 플로를 참조하세요. | |
배열 | 배열은 동일한 타입의 엘리먼트를 저장할 수 있는 컨테이너입니다. 배열의 엘리먼트는 배열에 삽입한 순서를 따르며, 인덱스를 호출하여 해당 배열의 위치를 기준으로 엘리먼트에 액세스할 수 있습니다. 자세한 내용은 배열을 참고하세요. | 배열에 인덱싱할 때만 해당됩니다. |
튜플 | 튜플은 한 타입 이상의 엘리먼트를 저장할 수 있는 컨테이너입니다. 튜플 엘리먼트는 튜플에 삽입하는 순서를 따르며 인덱스라고 하는 튜플 내 위치에 따라 엘리먼트에 액세스할 수 있습니다. 자세한 내용은 튜플을 참고하세요. | |
맵 | 맵은 키-값 쌍이라고 불리며, 다른 값과 연결된 값을 저장할 수 있는 컨테이너입니다. 키-값 쌍은 키 타입이 `comparable` 인 한 어떤 타입의 조합이든 될 수 있습니다. 맵의 엘리먼트는 맵에 키-값 쌍을 삽입한 순서를 따르며, 해당하는 고유 키로 엘리먼트에 액세스할 수 있습니다. 자세한 내용은 맵을 참고하세요. | |
옵션 | 옵션은 타입 값을 하나 갖거나 갖지 않는 컨테이너입니다. 자세한 내용은 옵션을 참고하세요. | |
범위 | 범위 표현식은 사이에 |