SMALL

전체 글 739

해쉬(Hash) 자료형에 관하여

IDL 8.0 버전에서부터 지원되기 시작한 자료형(Data Type)들인 리스트(List)와 해쉬(Hash)에 관하여 순차적으로 소개하고 있습니다. 먼저 리스트(List) 자료형에 관해서는 앞서 관련 게시물들(링크1, 링크2)을 통하여 소개한 바 있고, 이제 해쉬(Hash) 자료형에 관하여 살펴보기로 하겠습니다. 이미 소개된 리스트(List)와 마찬가지로 해쉬(Hash)도 일종의 복합형 자료형의 성격을 띈다고 볼 수 있습니다. 다만 해쉬의 경우는 일종의 사전(Dictionary)와 같은 성격을 띕니다. 즉 어떤 원소값이 있으면 이 값에 대응되는 키(key)라는 것이 반드시 존재하여, 각 원소는 키-원소값의 쌍(key-value pair)의 형태가 되어야 합니다. 이러한 '사전'과 같은 형태의 자료형은 이..

리스트(List) 자료형에 관하여 [2]

IDL 8.0 버전에서부터 도입된 복합형 자료형인 리스트(List)에 관하여 소개하고 있습니다. 지난 회차 게시물에서 바로 이어지는 내용입니다. 다수의 리스트 개체들을 합쳐서 하나의 리스트 개체로 만들 수도 있습니다. 이를 위해서는 + 연산자를 사용하면 되며 그 예제를 보면 다음과 같습니다. IDL> lst1 = LIST('zero', 1, 2.0)IDL> lst2 = LIST(!pi, 'one', [1, 2, 3, 4])IDL> lst3 = lst1+lst2IDL> PRINT, lst3 zero 1 2.0000000 3.1415927 one 1 2 3 4 연산자 EQ를 이용하여 두 리스트 개체들을 서로 비교할 수도 있..

리스트(List) 자료형에 관하여 [1]

리스트(List)와 해쉬(Hash)는 IDL 8.0 버전에서부터 지원되기 시작한 자료형(Data Type)들입니다. 이 두 자료형들은 기존의 정수, 실수, 문자 등과 같은 단일형 자료형과는 다른 일종의 복합형 자료형의 성격을 띕니다. 즉 서로 다른 자료형의 값들을 한꺼번에 품을 수 있는 특성을 갖는다고 보면 됩니다. IDL 8.0 버전 이전에는 구조체(Structre)만이 이러한 복합형 자료형의 범주에 속했지만, 그 이후부터는 리스트와 해쉬 자료형들까지 추가되면서 IDL에서 활용 가능한 복합형 자료형들의 범위가 더 넓어졌다고 볼 수 있습니다. 그래서 리스트 및 해쉬 자료형에 관하여 순차적으로 소개해보고자 합니다. 오늘은 첫번째 순서로 리스트(List) 자료형에 관하여 알아보기로 하겠습니다. 리스트 자료형..

ISA 함수의 활용

이번에 소개할 ISA 함수는 얼마전 별도의 게시물을 통하여 소개했던 TYPENAME 함수와 유사한 측면도 있지만, 좀 더 확장된 기능을 갖고 있습니다. ISA 함수 역시 TYPENAME 함수와 마찬가지로 IDL 8.0 버전부터 도입된 함수입니다. 그러면 관련 예제들을 통하여 이 함수의 기능을 살펴보기로 하겠습니다.이 함수는 결과를 항상 1 또는 0이라는 값으로 전달합니다. 즉 주어진 인자가 특정한 자료형(Data Type)인지 또는 클래스인지 등등에 관하여 판단을 하고 그 결과를 참 또는 거짓에 해당되는 논리값인 1 또는 0으로 전달하는 것입니다. 먼저 사전에 정의되지 않은 변수에 대하여 이 함수를 적용해보면 다음과 같이 0이란 값을 출력합니다. 즉 존재하지 않는 변수라는 의미입니다.IDL> PRINT,..

TYPENAME 함수의 활용

TYPENAME 함수는 IDL 8.0 버전에서 처음 도입된 함수로서, 그 명칭에서 짐작할 수 있듯이 대상 인자 값의 자료형(Data Type)이 무엇인가를 확인하여 전달해주는 역할을 합니다. 아주 단순한 기능이지만 프로그래밍 작업에 있어서 꽤 유용하게 사용될 수 있는 기능이기도 합니다. 예를 들어 2라는 정수형 값에 대하여 이 함수를 적용하면 다음과 같이 이 값이 정수형이라는 의미로 'INT'라는 문자열을 전달받게 됩니다.IDL> PRINT, TYPENAME(2)INT만약 2.0이라는 값을 인자로 주면 다음과 같이 실수형 값이라는 의미로 'FLOAT'라는 문자를 전달받게 됩니다.IDL> PRINT, TYPENAME(2.0)FLOAT함수에 투입되는 인자는 값 자체일수도 있고 변수가 될 수도 있습니다. 다음..

과거 게시물들에 대한 재정비

제가 이 블로그를 개설한지 이제 대략 만 15년 정도가 되었습니다. 그 동안 700개가 넘는 IDL 관련 게시물들을 올린 바 있는데요. 이러한 게시물들 중에는 올린지가 꽤 오래된 초창기의 게시물들도 많습니다. 연식으로 따지면 10년이 넘는 게시물들인데, 시기상으로 보면 주로 IDL 8.0 버전이 출시된 직후부터 8.1, 8.2 버전들이 나오던 시절이었습니다. 어쨌든 올린 게시물들의 숫자가 커지다보니 저도 그 내용을 일일이 다 기억하기 힘든 경우가 많습니다. 그래서 뭔가 게시물을 작성할라고 내용을 구상할 때, 이 내용이 혹시 과거에 이미 올렸던 것과 중복되는 것은 아닐까 싶어서 한번쯤 의심 및 확인을 거치게 됩니다. 그러다보니 블로그 내에서 게시물 검색을 자주 하는 편입니다. 즉 블로그 메인 페이지에서 우..

IDL/General 2025.05.28
728x90