SMALL

전체 글 742

리스트(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

FOREACH 구문 소개

오늘은 IDL 8.0 버전부터 새로 도입된 FOREACH라는 구문(Statement)을 소개하기로 하겠습니다. 이름을 봐서는 아무래도 FOR문과 흡사한 역할을 할 것 같다는 느낌이 먼저 듭니다만, 사용법은 약간 다릅니다. 사실 IDL에서는 반복형 구문으로서 FOR, WHILE, REPEAT 구문들이 지원되는데 FOREACH 구문은 가장 나중에 도입된 반복형 구문이라고 보시면 됩니다. 그러면 FOREACH 구문의 예제를 하나 보도록 하겠습니다. 그러면 아마 FOR 구문과의 차이점을 확연히 느낄 수 있을 것입니다. 다음과 같이 a라는 배열을 먼저 생성해봅시다. a = 100*INDGEN(11) 이 배열은 0, 100, 200, ..., 900, 1000과 같은 11개의 정수값들로 이루어져 있습니다. 이 배열..

IDL/Programming 2025.05.26
728x90