Автор Тема: ENUM Multit  (Прочитано 3163 раз)

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
ENUM Multit
« : Январь 28, 2015, 01:50:58 am »
LANGUGAE OBER_ON;

ENUM Multit < M:MATH_NATURAL_NUMBERS.POSITIVE_NATURAL_NUMBER >
    IS_DEFINED_AS
       MATH_NATURAL_NUMBERS_RANGES.NATURAL_NUMBER_IN_RANGE([1...M])
END Multit

(*
    MODULE ExampleForMultit;
    IMPORT Multiary;
    VAR m: Multiary.Multit<5>;
    BEGIN
        m:= 3;
        (* m:= 6; (* Error *) *)
    END ExampleForMultit.
*)
« Последнее редактирование: Январь 28, 2015, 01:52:59 am от egp »

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: ENUM Multit
« Ответ #1 : Январь 28, 2015, 01:54:52 am »
(* EDIT *)

LANGUAGE OBERON;

MODULE Multiary;

IMPORT MATH_NATURAL_NUMBERS, MATH_NATURAL_NUMBERS_RANGES;

TYPE Multit < M : MATH_NATURAL_NUMBERS.POSITIVE_NATURAL_NUMBER > =
       MATH_NATURAL_NUMBERS_RANGES.NATURAL_NUMBER_IN_RANGE([1...M]);

END Multiary.

(*
    MODULE ExampleForMultit;
    IMPORT Multiary;
    VAR m: Multiary.Multit<5>;
    BEGIN
        m:= 3;
        (* m:= 6; (* Error *) *)
    END ExampleForMultit.
*)

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: ENUM Multit
« Ответ #2 : Январь 28, 2015, 01:56:48 am »
напишите ктонить толмачам экстеншн =)

Евгений Филиппов

  • Full Member
  • ***
  • Сообщений: 133
    • Просмотр профиля
Re: ENUM Multit
« Ответ #3 : Январь 28, 2015, 02:06:05 am »
(* EDIT *)

LANGUAGE OBERON;

MODULE Multiary;

IMPORT MATH_NATURAL_NUMBERS, MATH_NATURAL_NUMBERS_RANGES;

TYPE Multit* < M : MATH_NATURAL_NUMBERS.POSITIVE_NATURAL_NUMBER > =
       MATH_NATURAL_NUMBERS_RANGES.NATURAL_NUMBER_IN_RANGE([1...M]);

END Multiary.

(*
    MODULE ExampleForMultit;
    IMPORT Multiary;
    VAR m: Multiary.Multit<5>;
    BEGIN
        m:= 3;
        (* m:= 6; (* Error *) *)
    END ExampleForMultit.
*)

(*

   Example #2: see <a href="http://oberspace.dyndns.org/index.php/topic,664.0.html"> Ternary.Mod Source Code and Discussion </a>

*)