The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз OpenSource реализации .Net-платформы Mono 2.10"
Отправлено Трухин_Юрий_Владимирович, 19-Фев-11 01:35 
>> метапрограммирование
>Вы хоть знаете, что это такое?  Даже на бейсике можно сделать кодогенерацию и рефлексию.

ахахаха +++ видно что википедию почитали прежде чем отвечать. даже наверное абзац прочитали)))

вот примерно так выглядит макрос в nemerle, где это сделано.

macro @if (cond, e1, e2)
syntax ("if", "(", cond, ")", e1, Optional (";"), "else", e2)
{
  /*
    <[ ]> // <[ ]> определяет области квазицитирования, код внутри них преобразуется в AST Немерле,
          аналогично преобразованию кода в Expression компилятором C#
  */
  <[
    match ($cond : bool)
    {
      | true => $e1
      | _ => $e2
    }
  ]>
}

// Данный макрос вводит в язык конструкцию if:
def max = if (a > b) a else b;
// которая при компиляции раскрывается в:
def max = match (a > b)
{
  | true => a
  | _    => b
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру