Difference between revisions of "Serve.cfg:problem:problem dir"

From EjudgeWiki
 
Line 5: Line 5:
 
Если данная конфигурационная переменная <b>не установлена</b>, то по умолчанию каталог задачи размещается в подкаталоге <tt>problems</tt>. Название каталога задачи задается конфигурационными переменными <tt>[[serve.cfg:problem:short_name|short_name]]</tt> или <tt>[[serve.cfg:problem:internal_name|internal_name]]</tt>.
 
Если данная конфигурационная переменная <b>не установлена</b>, то по умолчанию каталог задачи размещается в подкаталоге <tt>problems</tt>. Название каталога задачи задается конфигурационными переменными <tt>[[serve.cfg:problem:short_name|short_name]]</tt> или <tt>[[serve.cfg:problem:internal_name|internal_name]]</tt>.
  
Если данная конфигурационная переменная содержит относительный путь, то он отсчитывается относительно каталога <tt>problems</tt>.
+
Если данная конфигурационная переменная конкретной задачи содержит путь, не начинающийся с символа '/' или '.', то он отсчитывается относительно каталога <tt>problems</tt>. Например,
Например,
 
  
  problem_dir = "other_name"
+
  problem_dir = "./other_name"
  
в этом случае задача находится в <tt>problems/other_name</tt> в каталоге турнира.
+
в этом случае задача находится в <tt>problems/./other_name</tt> в каталоге турнира.
  
 
Если значение переменной равно:
 
Если значение переменной равно:
Line 24: Line 23:
 
здесь задача находится в каталоге <tt>/home/judges/git-repo/2016/A</tt>.
 
здесь задача находится в каталоге <tt>/home/judges/git-repo/2016/A</tt>.
  
Данная конфигурационная переменная предназначена для использования только в конкретных задачах и не наследуется из абстрактных задач.
+
Если конфигурационная переменная конкретной задачи не начинается с символов '/' или '.', а конфигурационная переменная problem_dir абстрактной задачи начинается
 +
с символа '/', полный путь к каталогу задачи получается конкатенацией значения конфигурационной переменной абстрактной и конкретной задач.
 +
 
 +
Например,
 +
 
 +
[problem]
 +
abstract
 +
short_name = "Generic"
 +
problem_dir = "/home/judges/git-repo/2016"
 +
 
 +
[problem]
 +
short_name = "A"
 +
super = "Generic"
 +
problem_dir = "A"
 +
 
 +
В этом случае путь к каталогу задачи A будет равен /home/judges/git-repo/2016/A.
  
 
Поддерживается начиная с версии [[изменения в версии 3.5.2|3.5.2]]
 
Поддерживается начиная с версии [[изменения в версии 3.5.2|3.5.2]]

Revision as of 00:17, 4 January 2017

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/problem_dir

Данная конфигурационная переменная позволяет указать произвольное расположение каталога задачи, в которой находятся тесты, условия, проверяющие программы и т. п. Конфигурационная переменная действует только в режиме альтернативной раскладки файлов.

Если данная конфигурационная переменная не установлена, то по умолчанию каталог задачи размещается в подкаталоге problems. Название каталога задачи задается конфигурационными переменными short_name или internal_name.

Если данная конфигурационная переменная конкретной задачи содержит путь, не начинающийся с символа '/' или '.', то он отсчитывается относительно каталога problems. Например,

problem_dir = "./other_name"

в этом случае задача находится в problems/./other_name в каталоге турнира.

Если значение переменной равно:

problem_dir = "../000010/problems/A"

в этом случае задача находится в каталоге problems/A каталога турнира 10, то есть используются тесты, проверяющие программы и пр. из другого турнира.

Если переменная содержит абсолютный путь, он сохраняется без изменений.

problem_dir = "/home/judges/git-repo/2016/A"

здесь задача находится в каталоге /home/judges/git-repo/2016/A.

Если конфигурационная переменная конкретной задачи не начинается с символов '/' или '.', а конфигурационная переменная problem_dir абстрактной задачи начинается с символа '/', полный путь к каталогу задачи получается конкатенацией значения конфигурационной переменной абстрактной и конкретной задач.

Например,

[problem]
abstract
short_name = "Generic"
problem_dir = "/home/judges/git-repo/2016"
[problem]
short_name = "A"
super = "Generic"
problem_dir = "A"

В этом случае путь к каталогу задачи A будет равен /home/judges/git-repo/2016/A.

Поддерживается начиная с версии 3.5.2