4월, 2021의 게시물 표시

Roblox - Lua script - tables(테이블) (array,hash etc..) #1

이미지
루아 에서 테이블 이란 배열, 세트, 해시 등 다양한 데이터 구조 를 심플 하고 효율적 으로 만들어 놓은 구조. 루아의 테이블은 객체 . 테이블 자료형 은 루아만의 특성. 예제 코드를 살펴보자. 코드) 위 코드를 보면 알 수 있듯이 기본 배열 선언부터 미리 빈 배열을 만들어 놓고 배열에 값들을 입력해나가는 방식까지. 또는 배열의 사용(key)값 은 정수 와 소수 등등 아니라 문자 값도 들어갈 수 있다. 예)   local array = { } array[1] = 1 array[1.5] = 1.5 array["abc"] = "d" 기초 중의 기초 를 알았으니 다음 시간엔 조금 심화(?) 된 방법을 알아보자 Freesh  (Free + Finish) -  맺음말  예시 들을 잘 보고 내가 만들려고 하는 프로젝트(게임) 에 알맞는 방법으로 프로그래밍을 할 수 있도록 여러 방법 의 테이블 구조를 사용 해보며  루아에 스며 들어 보자.

Roblox - Lua script - string (문자열 및 문자열 함수) #2

이미지
 문자열 2번째 그냥 string 함수 사용법을 알아 가는 거라고 생각하면 될 듯.. 예제 코드) 코드 그대로 위에서 부터 보면  1. 문자열에 포함 되어 있는  특정 문자 변경.      사용 예시 - 게임 채팅창 욕을 *** 로 변경할 때. 2. 문자열 모두 소문자 로 변경     사용 예시 - 아이디 , 비번 등 대,소문자 구분 없게 할 때. 3.  문자열  공백 분할.     사용 예시 - 특정 조건을 갖고 있는 사람들을 빨리 찾아내기 위해 데이터 분리하여 관리할 때. 4.  문자 -> 숫자 , 숫자 -> 문자 변경     사용 예시 - 값이 여러개인 데이터를 한번에 보내기 위해 사용.      예) int float 등 여러개의 변수들을 string으로 한번에 묶어서 전달. 예제 코드를 보고  응용 하여  자신만의 코드 를 만들어 보는 것도  실력 향상 에  도움 이 된다. Freesh  (Free + Finish) -  맺음말  string은 많이 사용되므로 사용법 을 잘 파악하고 숙지하여 프로그래밍에 문제(과한 데이터 사용)등이 발생되지 않도록 주의하며 사용해야 한다.

Roblox - Lua script - string (문자열 및 문자열 함수) #1

이미지
기본 문자열 은 local text = '아무 문자 입력' 이렇게 문자열을 만들 수 있다. 문자열에 관련 된 룰을 만들거나 할 때 필요한 문자열 함수 를 알아보자. 코드) 코드 그대로 위에서 부터 보면  1. 문자열 길이 확인       사용 예시 - 아이디 만들 때 10글자 넘지 않게 제한 을 주어야 할 때. 2. 문자열 공백 제거     사용 예시 - 사용을 많이 해보지 못해서, 공백을 인지 못하는 프로그래밍 언어로                    변경해야 할 때. (공백 예제는 잘 찾아보길...) 3. 특정 문자 찾기     사용 예시 - 주관식 문제의 답을 체크할 때. 예제 코드를 보고 응용 하여 자신의 코드 를 만들어 보는 것도 실력 향상 에 도움 이 된다. 문자열 함수는 #2부에 계속... Freesh (Free + Finish) - 맺음말  상황 에 맞춰 적절한 함수 를 사용하여 코드를 깔끔 하고 간결 하게!

Roblox - Lua script - while, repeat, for (반복문) 기초.

이미지
반복문 은 일련의 명령문을 일정한 회수동안 계속적으로 반복해서 실행하는 명령문 이다.  반복문으로 while , repeat,   for 문이 있다. 가장 많이 사용하는 명령어로만 단순화 시켰다. 먼저 반복문 없을때 를 확인해보자. 예시)   블록 하나를 1초 주기 로 색깔을 변경 해보자. 위와 같은 방식으로 주기적으로 변경하려하면 한계 가 있을것이다. 이런 작업을 효율적 으로 하기 위해 반복문이 존재한다.

Roblox - Lua script - if~(조건문)

이미지
if (조건문( 이하 if문으로 줄여서 ) )- 말 그대로 조건이 맞게 행동 하면 된다.  기본적인 패턴 if 조건부 then     "조건에 부합한 경우 실행할 코드 삽입" end 예시를 들어 설명해보자. (인터넷에 떠돌아다니는 짤 ) 유머는 유머일 뿐 .. 따라하지 말자.. ㅎ 저 짤을 코드로 전환한다면 이렇게 풀어낼 수 있다. 가운데에 if문이 어떻게 실행된 것인지 잘 분석(각자)해보자. 

Roblox - Lua script - Function(함수)

이미지
함수란, 실행될 수 있는 코드의 집합 .  예를 들면 -> 내장 함수인 print()은 괄호 안에 데이터들을 집어넣으면, 해당 데이터에 대한 출력이 이 된다. 내부에 "print" 라는 함수가 정의 되어 있어 우리가 사용할 수 있는 것이다. 여기에서 알 수 있듯이 사용할 함수를 정의를 해 놓는 정의 부분 이 존재하고, 사용하는 부분 이 존재하게 된다. 함수 내용 1,2줄에 a와 b 변수 선언은 앞서 기본 변수에서 다뤘음. MyFunction 에 두개의 변수를 받아 서 더한 값을 c라는 변수에 저장하고 c를 출력 하여 아래 결과값 3으로 정상적인 출력. ex code ) function ~ end 까지 함수를 정의하는 부분 아래 빨간줄 MyFunction(a,b)가 함수를 사용하는 부분 예제) 이러한 방식으로 자신만의 함수 를 만들자! Freesh (Free + Finish) - 맺음말 함수를 정의 하는 부분을 자신이 사용하고자 하는 방향 에 맞게 만들어 사용 한다면 다른 누구의 함수보다  훌륭한 함수 가 될 수 있을 것이다.

Roblox - Lua script - Basic Variable(기본 변수)

이미지
Lua Script의 특징 장점 직접적으로 인터프리트되지 않고, 바이트 코드로 컴파일되어 루아 가상 머신에서 실행 된다. 문법 배우는데 어려움 없음. 즉 문법이 간단하다. 레지스터 기반의 가상머신은 값들을 과다하게 복사하는 것을 방지, 함수를 구성하는 명령어를 줄일 수 있다. 동종 스크립트 언어 중에서 최강의 속도와 효율을 자랑한다. table 이라는 강력한 연관배열을 지원한다. 데이터 타입이 존재하지만 사용시에는 숫자, 문자열 정도만 구분하면 되며 왠만한 경우는 자동으로 변환을 수행한다. 단점 스크립트 언어라면 모두가 가지고 있는 가비지 콜렉션이 존재. 즉 메모리(사용하지 않거나 제한이 있을경우)를 자동으로 해제함. = 직접적인 메모리 관리의 어려움으로 인해 성능저하 발생할수도. 가벼운 만큼 지원하는 라이브러리가 적다. 루아에서의 변수는 선언이 필요 X ex) count = 0 (variable name) = 값 일반적으로 C/C++ 에서는 변수를 사용하려면 변수의 형(type) 을 선언해주고 사용. ex)  int nCount = 0; (type) (variable name) = (type에 맞는 값); 그러한 관점에서 루아에서는 이러한 변수의 형 선언이 필요하지 않다 . 기본적인 변수 선언 후 +연산 출력 등등.. ✋ 주의사항 - 변수선언시 특수문자는 오직 "_" Underbar 만 가능 아래 출력창 보면 정상적으로 출력되는것이 보임. 위와 같이 변수를 사용한다면 전역 (Global)변수로 사용. 전역변수의 단점 - 프로그램을 종료하지 않는 한 영원히 메모리 공간을 점유 함. 잠깐 사용하고 말 변수라면 앞에 local 을 붙여 사용한다면 메모리 관리에 용이함. Freesh (Free + Finish) - 맺음말  전역(Global)변수는 따로 모아서 관리하면 좋을듯.