2023/12/14 TIL (ScriptableObject / 정규표현식)
강의를 듣다보니 모르는 개념 2가지를 알게 되어서 몇자 적어본다.
1.ScriptableObject
- 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너
- 사례 중 하나는 값의 사본이 생성되는 것을 방지하여 프로젝트의 메모리 사용을 줄이는 것
- MonoBehaviour와 마찬가지로 ScriptableObject는 기본 Unity 오브젝트에서 파생되나, MonoBehaviour와는 달리 게임 오브젝트에 ScriptableObject를 연결할 수 없으며 대신 프로젝트의 에셋으로 저장해야 합니다.
- 주요 사용 사례
- 데이터 저장 및 보관
- 데이터를 프로젝트의 에셋으로 저장하여 런타임 시 사용
- 예제
using UnityEngine;
[CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/SpawnManagerScriptableObject", order = 1)]
public class SpawnManagerScriptableObject : ScriptableObject
{
public string prefabName;
public int numberOfPrefabsToCreate;
public Vector3[] spawnPoints;
}
https://docs.unity3d.com/kr/2021.3/Manual/class-ScriptableObject.html
ScriptableObject - Unity 매뉴얼
ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. ScriptableObject의 주요 사용 사례 중 하나는 값의 사본이 생성되는 것을 방지하
docs.unity3d.com
2.정규표현식
- 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식언어이다.
예제 : A?B 패턴은 AAB(일치), AB(일치), AAA(불일치), AAAB(불일치) 이다.
* : 0개나 하나이상의 문자가 있는 것을 의미한다.
예제 : A*B 패턴은 AB(일치), AAAAAAAAAB(일치), A123B(일치), AAAAAAAA(불일치) 이다.
+ : +앞에있는 문자가 한번이상 반복됨을 의미한다.
예제 : AB+ 패턴은 AB(일치), ABBBB(일치), ABC(불일치), A(불일치) 이다.
[] : [ ] 사이에 있는 형식이 일치하는것을 의미한다. 즉 [AB] 는 A, B만일치, [A-Z] 는 A부터 Z중 하나의 문자와 일치한다.
예제 : [A-C] 패턴은 A(일치), B(일치), AB(불일치), BC(불일치) 이다.
[^] : ^다음에 문자를 쓰면 해당 문자를 제외한다는 것을 의미한다.
예제 : [^A-C]D 패턴은 DD(일치), AD(불일치), DDD(불일치), D(불일치) 이다.
() : ( ) 사이에 문자가 하나의 묶음이된다. 즉 (ab)+ 는 abababab 와 일치한다.
예제 : (ab) 패턴은 ab(일치), ba(불일치) 이다.
{} : { } 사이에 숫자를 쓰면 그 숫자 만큼 패턴이 반복됨을 의미한다.
[A-C]{1,4}는 A,B,C 를 1개에서 4개 조합하면 된다. AAAA도 가능하고 A, BA, ABC, ACBA도 가능하다.
예제 : [A-C]{1,3} 패턴은 AA(일치), CBC(일치), ADA(불일치), ACCC(불일치)이다.
^ : 문자열의 시작을 의미한다.
@ : 문자열의 끝을 의미한다.