Re[11]: Что умеет C++ времени компиляции?
От: FR  
Дата: 24.07.23 08:02
Оценка: 3 (1)
Здравствуйте, Alekzander, Вы писали:

A>Здравствуйте, FR, Вы писали:


A>Большое спасибо за ответ. А можно я попрошу прямо здесь показать, на что они годятся? На двух актуальных примерах, обсуждавшихся на этих форумах в последнее время.


Сейчас с примерами разбираться времени нет, может позже посмотрю.
Но сразу скажу что rust далеко не nemerle или lisp и произвольно менять синтаксис везде не дает, весь измененный синтаксис должен быть внутри макроса, и токены все должны быть допустимыми в rust, но примерно такое:
html! {
    <div>
        <div data-key="abc"></div>
        <div class="parent">
            <span class="child" value="anything"></span>
            <label for="first-name">{ "First Name" }</label>
            <input type="text" id="first-name" value="placeholder" />
            <input type="checkbox" checked=true />
            <textarea value="write a story" />
            <select name="status">
                <option selected=true disabled=false value="">{ "Selected" }</option>
                <option selected=false disabled=true value="">{ "Unselected" }</option>
            </select>
        </div>
    </div>
};

вполне при этом позволяет. Подробнее про пример выше можно тут посмотреть.
Твои примеры вполне реализуемы на процедурных макросах, но с теми ограничениями что я описал кажутся не очень полезными. Ну и второй пример наверно проще и удобнее будет реализовать через new type idiom.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.