Сравнение версий во время компиляции в D

Если я правильно понимаю, вы можете использовать компонент showDialog , который лежит за AlertDialog с вложенным столбцом. Для зеленого цвета ou может использовать Opacity с контейнером:

showDialog(
    context: context,
    builder: (context) {
       return Opacity(
          opacity: 0.8, // some opacity
          child: Container(
              // container to set color
              color: Colors.grey,
              child: Column(
                  mainAxisSize: MainAxisSize.max,
                  mainAxisAlignment: MainAxisAlignment.end,
                  children: [
                    RaisedButton(
                      onPressed: null,
                    ), // replace with your buttons
                    RaisedButton(
                      onPressed: null,
                    ),
                  ]
               )
            )
        );
    }
);

1
задан porton 20 January 2019 в 00:41
поделиться

1 ответ

Напишите функцию, которая работает во время выполнения. Тогда позвони. Что-то вроде:

bool less(string a, string b)
{
  auto ap = a.splitter(".").map!(x => to!int(x));
  auto bp = b.splitter(".").map!(x => to!int(x));
  while (!ap.empty && !bp.empty)
  {
    if (ap.front < bp.front) return true;
    ap.popFront; bp.popFront;
  }
  return ap.empty;
}
static if (less("1.2.12", "1.2.2"))
  pragma(msg, "it's less");
else
  pragma(msg, "it's not less");

Вы можете вызывать нормальные функции во время компиляции. Это то, что в D мы называем CTFE (оценка функции времени компиляции).

По словам Уолтера Брайта (из моей памяти) «D обладает уникальной способностью запускать код D во время компиляции».

0
ответ дан Lupus Ossorum 20 January 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: