Lolcode-유형
LOLCODE는 프로그래밍 언어 디자인의 경계를 테스트하도록 설계되었습니다. 인터넷의 재미있는 것들에서 영감을받은 난해한 프로그래밍 언어입니다. 이 장에서는 LOLCODE 유형에 대해 설명합니다.
종류
현재 LOLCODE의 변수 유형은 다음과 같습니다.
- 문자열 (YARN)
- 정수 (NUMBR)
- 수레 (NUMBAR)
- 및 부울 (TROOF)
- 어레이 (BUKKIT)
LOLCODE에서 변수 유형은 컴파일러에 의해 동적으로 처리됩니다. 변수에 초기 값이 없으면 유형 없음 (LOLCODE에서는 NOOB이라고 함)이라고합니다.
LOLCODE에서 다른 유형을 선언하고 사용하는 구문은 다음과 같습니다.
모든 데이터 유형의 변수를 만들려면
I HAS A <VARIABLE> ITZ A <DATA TYPE>
변수를 만들고 값을 할당하려면
I HAS A <VARIABLE> ITZ <EXPRESSION<
이미 생성 된 데이터 유형에 값을 할당하려면
<VARIABLE> R <EXPRESSION>
유형 없음 (NOOB)
유형이 지정되지 않은 데이터 유형 (NOOB이라고 함)은 TROOF 데이터 유형을 제외한 다른 유형으로 변환 할 수 없습니다. NOOB를 TROOF로 암시 적으로 캐스팅하면 변수가 FAIL이됩니다. 그 후 NOOB에 대한 작업은 오류를 발생시킵니다.
NOOB 데이터 유형 (즉, 초기화되지 않고 초기 값이없는 유형)의 명시 적 캐스트는 다른 모든 유형에 대해 0 값이됩니다.
유형이 지정되지 않은 변수를 정의하려면 변수를 선언하고 다음 예제와 같이 값을 할당하십시오.
HAI 1.2
I HAS A VAR3
VAR3 R "ANYVALUE"
VISIBLE VAR3
BTW Or declare in same line
I HAS A VAR4 ITZ 44
VISIBLE VAR4
KTHXBYE
위의 프로그램을 실행하면 다음과 같은 결과를 볼 수 있습니다.
sh-
4.3$ lci main.lo
ANYVALUE
44
부울 (TROOFS)
LOLCODE에서 부울 값은 두 가지 유형입니다. BOOLEAN에는 일반적으로 true와 false의 두 가지 값이 있습니다. 그러나 LOLCODE에서는 Boolean을 TROOF라고하며 true / false 값을 각각 WIN / FAIL이라고합니다. 빈 문자열 ( "") 또는 빈 배열과 같은 초기화되지 않은 모든 값은 모두 FAIL로 캐스트됩니다. 다른 모든 초기화 값은 WIN로 평가됩니다.
예
HAI 1.2
I HAS A VAR3 ITZ A TROOF
VAR3 R "FAIL"
VISIBLE VAR3
KTHXBYE
위의 코드를 실행하면 다음 출력을 볼 수 있습니다.
sh-4.3$ lci main.lo
FAIL
숫자 유형 (NUMBR)
LOLCODE에서 NUMBR은 정수를 나타냅니다. 시퀀스 사이에 소수점이 표시되지 않는 한 모든 숫자 시퀀스는 NUMBR로 간주됩니다. 음수로 만들려면 음수를 나타내는 하이픈 (-)이 앞에 올 수 있습니다.
예
HAI 1.2
I HAS A VAR3 ITZ A NUMBR
VISIBLE VAR3
KTHXBYE
위의 코드는 실행하면 다음과 같은 결과를 보여줍니다.
sh-
4.3$ lci main.lo
0
NUMBR과 유사하게 LOLCODE에는 여러 프로그래밍 언어에서 10 진수 또는 부동 소수점을 나타내는 다른 데이터 유형이 있습니다. LOLCODE에서 NUMBAR는 소수점 하나를 포함하는 부동 소수점입니다. NUMBAR를 NUMBR로 캐스트하면 부동 소수점 숫자의 소수 부분이 잘리고 소수없이 NUMBR로 반환됩니다.
문자열 (YARN)
LOLCODE에서 문자열을 포함하는 값, 즉 문자열 리터럴 (YARN)은 큰 따옴표 ( "")로 시작하고 끝나야합니다.
공백, 쉼표, 마침표, 느낌표 또는 기타 기호와 같이 문자열 안에 무엇이든 쓸 수 있습니다. 작은 따옴표가 누락 된 문자열은 오류를 일으킬 수 있습니다. 콜론은 LOLCODE에서 이스케이프 문자로 사용되며 콜론 뒤에 오는 모든 값은 특별한 의미를 갖습니다.
:) − 콜론 뒤의 닫는 괄호는 개행 (\ n)을 나타냅니다.
:> − 콜론 뒤의 닫는 꺾쇠 괄호는 탭을 나타냅니다 (\ t).
:o − A ‘o’ 콜론 뒤의 문자는 벨 (신호음)을 나타냅니다 (\ g).
:" − 콜론 뒤의 "는 리터럴 큰 따옴표 (")를 나타냅니다.
:: − 콜론 뒤의 콜론은 단일 리터럴 콜론 (:)을 나타냅니다.
예
HAI 1.2
I HAS A VAR3 ITZ A YARN
VAR3 R "XYZ"
VISIBLE VAR3
KTHXBYE
위에 주어진 코드는 실행시 다음 출력을 생성합니다-
sh-
4.3$ lci main.lo
XYZ
부킷
이 유형은 배열을 나타냅니다. 변수 또는 함수를 포함 할 수있는 명명 된 슬롯이 있습니다. BUKKIT는 다음과 같은 방법으로 선언 할 수 있습니다.
BTW declaration of the BUKKIT
I HAS A [object] ITZ A BUKKIT BTW creating a variable in a slots
[object] HAS A [var] ITZ [value] BTW creating a function inside the BUKKIT
HOW IZ [object] [function name] (YR [argument1] (AN YR [argument2] (AN YR [argument3] ...)))
[function code]
IF U SAY SO
BUKKIT 내부의 함수는 ME'Z [var] 또는 ME IZ [함수 이름] (YR [인수 1] (AN YR [인수 2] (AN YR [인수 3] ...)을 사용하여 BUKKIT의 변수 및 기타 기능에 액세스 할 수도 있습니다. ))) MKAY.
예
HAI 1.2
I HAS A VAR6 ITZ A BUKKIT
BTW DECLARING AN ARRAY
VAR6 HAS A VAR7 ITZ "DOGE"
BTW VAR7 IS A STRING VARIABLE THAT IS INSERTED INTO ARRAY VAR6
VISIBLE VAR6'Z VAR7
BTW GET THE ELEMENT OF ARRAY
KTHXBYE
이것은 위에 주어진 코드를 실행할 때 찾을 수있는 출력입니다.
sh-
4.3$ lci main.lo
DOGE