После установки компилятора crystal
в вашем распоряжении.
В следующих разделах знак доллар ($
) обозначает командную строку.
Скомпилировать и запустить программу вы можете набрав crystal
с именем файла:
$ crystal some_program.cr
Файлы исходного кода Crystal имеют расширение .cr
.
Альтернативой может служить команда run
:
$ crystal run some_program.cr
Используйте команду build
чтобы создать исполняемый файл:
$ crystal build some_program.cr
Это создаст some_program
файл, который можно выполнить:
$ ./some_program
Примечание: По умолчанию сгенерированные файлы не полностью оптимизированы. Чтобы включить полную оптимизацию, используйте флаг --release
:
$ crystal build some_program.cr --release
Всегда используйте флаг --release
для готовых к продакшену исполняемых файлов и для проведения бенчмарков.
Причиной этому является то, что производительность без полной оптимизации довольно хорошая и обеспечивает быстрое время компиляции, так что вы можете использовать команду crystal
как будто это интерпретатор.
Используйте команду init
чтобы создать Crystal проект со стандартной структурой директорий.
$ crystal init lib MyCoolLib
create MyCoolLib/.gitignore
create MyCoolLib/LICENSE
create MyCoolLib/README.md
create MyCoolLib/.travis.yml
create MyCoolLib/shard.yml
create MyCoolLib/src/MyCoolLib.cr
create MyCoolLib/src/MyCoolLib/version.cr
create MyCoolLib/spec/spec_helper.cr
create MyCoolLib/spec/MyCoolLib_spec.cr
Initialized empty Git repository in ~/MyCoolLib/.git/
Чтобы посмотреть полный список команд, наберите crystal
без аргументов.
$ crystal
Usage: crystal [command] [switches] [program file] [--] [arguments]
Command:
init generate new crystal project
build compile program file
deps install project dependencies
docs generate documentation
eval eval code from args or standard input
run (default) compile and run program file
spec compile and run specs (in spec directory)
tool run a tool
--help, -h show this help
--version, -v show version
Чтобы увидеть доступные параметры для каждой команды, используйте флаг --help
после команды:
$ crystal build --help
Usage: crystal build [options] [programfile] [--] [arguments]
Options:
--cross-compile flags cross-compile
-d, --debug Add symbolic debug info
-D FLAG, --define FLAG Define a compile-time flag
--emit [asm|llvm-bc|llvm-ir|obj] Comma separated list of types of output for the compiler to emit
-h, --help Show this message
--ll Dump ll to .crystal directory
--link-flags FLAGS Additional flags to pass to the linker
--mcpu CPU Target specific cpu type
--no-color Disable colored output
--no-codegen Don't do code generation
-o Output filename
--prelude Use given file as prelude
--release Compile in release mode
-s, --stats Enable statistics output
--single-module Generate a single LLVM module
--threads Maximum number of threads to use
--target TRIPLE Target triple
--verbose Display executed commands