Help:Строгие компараторы
В SMW компараторы < и > имеют значение "меньше или равно" и "больше или равно". Таким образом, они ведут себя немного по-другому, чем ожидают некоторые люди, потому что включают в себя "... или равно". Возможно, вы хотите, чтобы компараторы вели себя как их математические аналоги. Начиная с SMW 1.5.3 это возможно, но с некоторыми предостережениями.
Включение строгих компараторов
Для включения строгой интерпретации компараторов смотрите конфигурацию настройки запросов.
Сравнение стандартных и строгих компараторов
Для различных целей сравнения следующие компараторы могут быть использованы в зависимости от настроек $smwStrictComparators:
Компаратор | $smwStrictComparators = false (настройка по-умолчанию) |
$smwStrictComparators = true |
меньше или равно | < или ≤ | ≤ |
больше или равно | > или ≥ | ≥ |
меньше | << | < или << |
больше | >> | > или >> |
Заметьте, что в SMW до 1.5.3 поведение компараторов было немного проще:
Компаратор | SMW 1.5.2 и ранее |
меньше или равно | < |
больше или равно | > |
меньше | |
больше |
Предостережения для строгих компараторов
Есть два важных пункта при переключении на строгие компараторы:
- Существующие запросы, использующие < и >, могут выдать другие результаты (это не выполняется для < в комбинации с !).
- Символы ≤ и ≥ нельзя просто ввести в вики со стандартной клавиатуры. Пользователи могут:
- скопировать и вставить символы, или
- использовать дополнительное ПО, такое как "Таблица символов" в Windows (Пуск > Программы > Стандартные > Служебные > Таблица символов), или
- использовать комбинацию "Alt+8805" для ввода ≥ и "Alt+8804" для ≤.
Property "Description" (as page type) with input value "описание операторов и их семантики в SMW" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.Property "Namespace" has a restricted application area and cannot be used as annotation property by a user.Property "Docinfo editor" (as page type) with input value "User:>Yury Katkov" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.