Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Что взамен str_real и т.д. в VIP7 ?
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
5565610 5565610 вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 10.07.2006
По умолчанию 02.10.2006, 15:27

В хелпе VIP7 дается рекомендация использовать toTerm/1 вместо conversion5x::str_real/2 и других аналогичных. Уже объединение "старых" встроенных предикатов в один пакет говорит об их недолгой жизни. Попытки использования toTerm в разных вариантах всегда приводят к рантайм эррор. К сожалению пример применения отсутствует. Что делать?
Ответить с цитированием
  (#2 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,771
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 02.10.2006, 17:09

Имеются предикаты convert, tryConvert, uncheckedConvert. Их с примерами можно найти в Help, например, по поиску на слово "conversion".
Ответить с цитированием
  (#3 (permalink)) Старый
5565610 5565610 вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 10.07.2006
По умолчанию 02.10.2006, 18:09

Цитата:
Имеются предикаты convert, tryConvert, uncheckedConvert. Их с примерами можно найти в Help, например, по поиску на слово "conversion".
Действительно, хорошие предикаты. Спасибо!
Ответить с цитированием
  (#4 (permalink)) Старый
5565610 5565610 вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 10.07.2006
По умолчанию 09.10.2006, 14:49

Цитата:
Имеются предикаты convert, tryConvert, uncheckedConvert. Их с примерами можно найти в Help, например, по поиску на слово "conversion".
Рано я радовался. В соответствующем пункте help значится:
Код:
Allowed conversions:

Between numerical domains. 
Between interface types. 
Between string and symbol domains. 
From binary to pointer. 
For synonyms of mentioned domains. 
Between reference domains and corresponding non-reference domains.
Констатирую: преобразование string -> real и наоборот и т.д. в VIP 7 невозможны. Если же, все-таки, записать:
Код:
x ():-
        _=::convert(string, 3).
то получим: error c504: The expression has type '::integer', which is incompatible with the type '::string'.
Надо думать, как жить дальше.
Ответить с цитированием
  (#5 (permalink)) Старый
Alison Alison вне форума
Member
 
Сообщений: 4,771
Сказал(а) спасибо: 0
Поблагодарили 119 раз(а) в 116 сообщениях
Регистрация: 17.11.2004
По умолчанию 09.10.2006, 18:22

Цитата:
Констатирую: преобразование string -> real и наоборот и т.д. в VIP 7 невозможны.
Возможны.
Вот пример. Все работает.
Код:
class my
predicates
run:().
end class my

implement my
open core, console

clauses
run():- 
    init(),
    write("Введите действительное число: (считывается в строку): "),
    RealStr = readLine(),
    hasDomain(real, Real),
    Real = toTerm(RealStr), 
    NewReal=Real-0.1,
    write("действительное (-0.1): ",NewReal), nl,
    StrReal = toString(NewReal),
    write("строка: ",StrReal), nl, 
    write(string::concat(RealStr," - 0.1 = ",StrReal)),
    _= readLine().

end implement my
goal   my::run().
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
5565610 5565610 вне форума
Member
 
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 10.07.2006
По умолчанию 10.10.2006, 14:22

Цитата:
Возможны. :-)
Вот пример. Все работает.
Все работает! Просто слева должна стоять неназначенная переменная нужного типа.
Код:
Real = toTerm(RealStr),
Именно тип этой переменной определяет способ преобразования (я неправильно понял хелп). Тяжело отвыкать от старых привычек.
Спасибо.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Global database и VIP7 Morion Prolog 4 02.10.2013 18:31
DualCore AMD Athlon II X2 245, 2900 MHz (14.5 x 200) что взамен? DED2 Процессоры 8 05.01.2012 20:51
Стоит ли брать phenom x3 8450e взамен старого athlon 64 x2 4200+ ? Mad Guy Процессоры 4 19.11.2011 13:26
Вопросы по VIP7 ikoryakin Prolog 7 05.01.2010 17:55
VIP7.2 CodeExpert ikoryakin Prolog 22 04.01.2010 22:48
Что есть взамен ActiveX и COM-технологии ALTOM Visual C++ 1 21.11.2009 13:22
Среда программирования VIP7.2 Alex63 Prolog 3 19.05.2009 02:00
Работа с фактами в VIP7 aza Prolog 12 12.05.2009 21:46
несколько вопросов по VIP7 voodOOpeople Prolog 3 30.12.2008 16:46
Как разобраться с окнами в VIP7 Altur Prolog 6 30.11.2008 23:48
VIP7 Винитарх Prolog 234 12.02.2007 18:45
Переводы Krys-а по VIP7 5565610 Prolog 9 28.12.2006 12:20



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов