프로그래밍 언어를 설계하고 있는데 추가하고자하는 기능은 trampoline function과 class
사이의 십자가입니다. 즉, generic class
과 비슷한 리터럴을 취하는 클래스는 type
입니다. 나는 언어로 그들을 만나지 않았기 때문에 나는 이것들의 이름에 붙어있다. 이미이 개념이나 가까운 것을 의미하는 것이 있는가? trampoline class
을 사용하는 것은 옵션이지만, 더 정확하게 설명하거나 이미 다른 언어로 사용중인 것이 있다면 설명서에 필요한 특수 용어를 줄이기 위해 사용하는 것이 좋습니다.트램펄린 클래스의 이름이 있습니까?
class Point<const int n> {
private float[n] _value;
Point() {
for (int i = 0; i < n; i++) {
this._value[i] = 0f;
}
}
Point(Point<o> other) {
for (int i = 0; i < min(n, o); i++) {
this._value[i] = 0f;
}
}
public static float operator [index] (optional float value = null) {
if (value != null) { this._value[index] = value; }
return (this._value[index]);
}
public static Point<max(o, p)> operator + (Point<const int o> p1, Point<const int p> p2) {
Point<min(o, p)> small = (p1.n < p2.n ? p1 : p2);
Point<min(o, p)> large = (p1.n < p2.n ? p2 : p1);
Point<max(o, p)> ret = new Point<max(o, p)>(large);
for (int i = 0; i < min(o, p); i++) { ret[i] += small[i] }
return (ret);
}
}
고마워,하지만 구현 수준에 대한 개념과 비슷하지만 실제로는 이론이 아닌 '트램펄린 함수'에 대한 비교를 통해 여러 가지를 혼합했을 수도 있다고 생각한다. - 또는 max (o, p)'문을 의사 코드에 추가합니다. 실제로 max (o, p)를 허용하는 동적 비트는 여기서 생각하고있는 기능과 구별됩니다. 나는 타입이 아니고 유형 자체 인 일반적인 매개 변수로서 리터럴 또는 계산 된 값 (계산 된 값은이 문맥에서이 언어 내에서 리터럴로 볼 수 있음)을 전달하는 방법을 찾고 있습니다 (예 : int).) 정보에 대해 Upvoted. – CoryG
질문을 명확히 할 수 있습니까? 나는 기본적으로 코드를보고 무엇을 요구하는지 짐작했다. 어쩌면 찾고있는 개념 만 포함하고 다른 특별한 개념은없는 코드 예제를 제공 할 수 있습니까? 또한 찾고있는 기능에 대한 자세한 설명을 추가하십시오. 그렇게 많이 추측 할 필요가 없습니다. 그런 다음 개념이 종속 유형과 다른 점을 설명하십시오. 나에게 위의 설명에서 나온 설명은 종속 유형과 정확하게 같습니다. –
질문은 일반 정의에서 유형 대신 리터럴을 허용하는 일반 클래스의 이름입니다. 종속 형은 다른 형에 의존하거나 어떤 식 으로든 그것에 의해 제약을받는 값을 갖는 형이다. 이 경우에 기술 된 것의 이름은 반드시 일반적인 유형을 포함하지는 않습니다 (1, 2, 3, "a", "b"또는 "c"와 같은 리터럴은 컴파일 유형에서 로컬 상수로 효과적으로 전달됩니다 – CoryG