Це команда camlmix, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн емулятор MAC OS
ПРОГРАМА:
ІМ'Я
camlmix - препроцесор, який перетворює текст за допомогою вбудованого OCaml
СИНТАКСИС
camlmix [Параметри ...] файли...
ОПИС
camlmix обробляє текстові шаблони з вбудованими OCaml код для повторного створення тексту. Від одного
або кілька вхідних файлів, які він генерує OCaml програму генерації тексту та виконує це до
отримати результат. Використання опції - весело можна також перетворити текстовий шаблон у файл OCaml
функція генерації тексту.
ВАРІАНТИ
-o вихід
записати згенерований текст у файл вихід
-c Створюйте лише програму генерації тексту, не виконуйте її. За замовчуванням,
програма називається lastfile.ml коли останній файл є останнім аргументом файлу.
-co файл
вкажіть назву програми генерації тексту
- весело породжувати OCaml код функції генерації тексту з входу (див ADVANCED ВИКОРИСТАННЯ
нижче)
-e ocamlc
встановіть ім'я виконуваного файлу OCaml
-чистий видалити програму генерації тексту після виконання
-вставка ocaml_code
вставити ocaml_code на початку програми генерації тексту
- ремікс спробуйте перетворення на синтаксис camlremix
-версія
версія для друку та вихід
-допомога | --допомога
надрукувати довідку та вийти (ця man-сторінка була написана з виводу -допомога)
BASIC ВИКОРИСТАННЯ
Текст додається до ## маркерів розглядається як блок OCaml код. Він може бути будь-яким
виразів верхнього рівня, таких як визначення чи застосування функцій друку:
Це версія ocaml ## print Sys.ocaml_version ##
Якщо OCaml код починається з = тоді він інтерпретується як вираз типу string
який буде надрукований, як і решта тексту:
Це версія ocaml ##= Sys.ocaml_version ##
Текстовий блок друкується разом з оціненим OCaml шматків за допомогою друк
функція. Включати # # # друкувати ##.
Білим простором можна керувати за допомогою ##. та .##:
##. не друкуйте пробіли, що виникають зліва
.## не друкуйте пробіли до і включно першого нового рядка, наступного після
право.
ADVANCED ВИКОРИСТАННЯ
інструкції
Блоки коду, які починаються з @ символ (можливо перед пробілами).
директиви для Camlmix. Є дві директиви. включати вставляє файл camlmix, і
пропускати пропускає наступний блок. Наприклад
Привіт ## @include "world.mlx"; пропустити .## ## нехай x = 123 ##!
Перетворення в a текст покоління функція та цінності динамічний надання
Команда - весело варіант, що використовується в поєднанні з -c і часто -co виробляє OCaml вихідний файл
яка забезпечує функцію надавати з таким підписом:
val render : ?print:(string -> unit) -> 'a -> unit
Поліморфний аргумент називається парам у згенерованому коді і може використовуватися для передачі
аргументи часу виконання в надавати функція. друк функція використовується для встановлення початкової
значення Camlmix.printer (див. нижче). Його значення за замовчуванням таке:
fun s -> print_string s; flush stdout
Час виконання гачки
Програма генерації тексту, яка camlmix генерує, містить модуль Camlmix в
початок, який можна використовувати в кодових блоках. Цей модуль має такий підпис.
Модулі Camlmix : сиг
Val джерело : рядок ref
Val лінія : міжнар
Val бак : міжнар
Розташування першого символу поточного блоку в його вихідному файлі.
Номери рядків і символів відраховуються від 1. Ці посилання оновлюються за допомогою
camlmix на початку кожного блоку.
Val принтер : (рядок -> одиниця) ref
функція друку текстових блоків
Val print_with : (рядок -> одиниця) -> одиниця
print_with f призводить до друку наступного текстового блоку f замість
поточний принтер. Його поведінка є невизначеною, якщо він викликається кілька разів
той самий кодовий блок.
Val print_if : bool -> одиниця
print_if кондиц друкує наступний текстовий блок лише за умови кондиц правда. Це
використовує print_with внутрішньо.
кінець
Використовуйте camlmix онлайн за допомогою служб onworks.net