우리가 알고있는 데이터 타입을 정의 할 수 있는지 궁금해했습니다. 튜플이어야하고 현재 길이 (또는 요소 수가 결정 불가능합니다)입니다. 응용 프로그램은 다음과 같습니다 :은 Rascal에서 알려지지 않은 길이의 튜플 데이터 타입을 정의했습니다.
//I want to declare a data type, one of whose argument is a tuple,
public data MyType=fromListCartesianProduct(tuple<?> product)
//Later I want to instantiate a MyType data by using taking List-CartesianProduct
//instantiate some MyType data
foreach(aTuple in [1,2,3]*["a","b"])
someArr[i]=fromListCartesianProduct(aTuple)
"MyType"을 선언하는 동안 aTuple의 요소 수가 확인되지 않는 것이 현저합니다. 그런 유형의 불량 원본을 여전히 선언 할 수 있습니까?
대체, 난으로합니다 MyType를 선언합니다 :
public data MyType=fromListCartesianProduct(list[] product)
및 특정 인스턴스를 구성하기 전에 목록에 직교 제품을 복용 각 튜플을 변환합니다. 명확성 및 기타 이유로 MyType을 이전에 정의한대로 정의하고자합니다.