Грамотное программирование в режиме rust и org

Итак, я пытаюсь использовать rust в режиме org, и он отлично работает после установки ob-rs и cargo-script. Но проблема в том, что я не могу понять, как использовать другие ящики (например, rand) из блоков исходного кода. Я попытался просто преобразовать основной проект в грузовой и запутать все блоки в основном файле, но что ж, в этот момент я мог бы использовать обычный проект ржавчины. Итак, есть ли способ использовать внешние ящики внутри блоков режима организации. В противном случае было бы сложно использовать rust в режиме org, потому что многие базовые функции определены во внешних ящиках.


person Ayush Singh    schedule 12.06.2020    source источник


Ответы (1)


Итак, я обнаружил, что мы можем использовать внешние ящики с ржавчиной в режиме организации с простоватым. Вот как это сделать из основного README.

Орг-бабель

Блоки выполняются асинхронно, и запущенный процесс babel указывается счетчиком в строке режима. В вавилонских блоках можно использовать ящики.

Выполнить блок babel с помощью org-babel-execute-src-block

#+BEGIN_SRC rustic :crates '((regex . 0.2))   extern crate regex;

  use regex::Regex;

  fn main() {
      let re = Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap();
      assert!(re.is_match("2014-01-01"));   }
#+END_SRC

Поддерживаемые параметры org babel:

Записать в файл: файл результатов: файл ~ / babel-output

Настройка:

rustic-babel-format-src-block format block after successful build
rustic-babel-display-compilation-buffer display compilation buffer of babel process
rustic-display-spinner turn off spinner in the mode-line

Это не идеально, так как использование рустикального типа, поскольку тип src означает отсутствие выделения синтаксиса при рендеринге документа организации на github. Кроме того, мы не можем делиться функциями между блоками, но это открытый вопрос, который можно найти здесь, так что, надеюсь, в какой-то момент мы получим эту способность.

person Ayush Singh    schedule 16.07.2020