Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт апр 18, 2024 21:37

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 01:24 
Не в сети

Зарегистрирован: Чт апр 03, 2014 20:29
Сообщения: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
mOleg писал(а):
Код:
0x100 CONSTANT buf#  \ задать размер буфера файла

CREATE buffer buf# ALLOT \ создать буфер заданного размера (в статической области памяти)

S" file.name" W/O OPEN-FILE THROW VALUE fId  \ открыть файл на запись

buffer buf# fId WRITE-FILE THROW  \ сохранить содержимое буфера в файл

fId CLOSE-FILE THROW


да, file.name уже должен существовать, иначен надо CREATE-FILE



fId не работает, как и много других слов с форума.
неужели так сложно разработчикам сговориться и писать такие девайся для Форта, чтоб подходили всем?????((


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 02:34 
Алиска писал(а):
неужели так сложно разработчикам сговориться...
Вы делаете огромную ошибку. Вы пытаетесь учить FORTH как BASIC (и его потомков). FORTH - не язык, и, тем более, не язык для быдлокодерства. Перечитайте мой первый пост в теме. Пока Вы не поймете, что все написанное там - истина в последней инстанции, и начинать надо не с заучивания "рецептов", а понимания основ, толку не будет.

Например, даже предложенные коллегой рецепты-обертки для Си-подобных безобразий, очевидные для любого "нормального языка", в FORTH нарушают сразу два принципа:
1. Ибо сказано в Писании: "Не предполагайте!" Т.е. не пишите универсальных слов для возможного применения.
2. И сказано: "Не возжелайте избыточных Стандартов!" Если в Стандарте/Реализации есть слова, то не надо переоформлять их еще более стандартнее.

Короче. Берите ассемблер и пишите свой FORTH. Не можете на ассемблере - попытайтесь построить макет на языке высокого уровня (но держите в голове, что это лишняя потеря времени). Не можете написать свой FORTH - значит Вам рано учиться на нем писать.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 03:29 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Алиска писал(а):
fId не работает, как и много других слов с форума.

Это переменная. Она создана в строке VALUE fId , а перед VALUE лежит значение, которым она инициализируется. В данном случае это идентификатор файла, который вернула библиотечная функция ОС. Если слово не работает, значит, оно написано не в точности так же, как было объявлено.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 03:36 
Не в сети

Зарегистрирован: Чт апр 03, 2014 20:29
Сообщения: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
gudleifr писал(а):
Не можете написать свой FORTH - значит Вам рано учиться на нем писать.

изучение начинают не с написания самого языка, а с понимания основ и простейших слов. Не стоит бежать вперёд паровоза и сражу же с пеной у рта стараться написать свой форт. Да и вообще - оно надо? Люди, пишущие свой Форт или не умеют до конца в совершенстве работать на предложенном, или же достаточно овладели им, чтоб написать своё понимание его. Но! Оно вообще надо? Громкий вопрос, однако суть его схожа с переводом старинных рукописей с мёртвых языков или же пониманием философских вопросов. Мало-ли кому как понялось, мало ли кто как решил написать, но исток то один. Зачем вносить лишнюю мишуру


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 05:17 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Алиска писал(а):
fId не работает, как и много других слов с форума.

все проверялось на spf4.19
вы, наверное, не создали файл с используемым вами именем (он должен лежать там же, где лежит сам spf4.exe.
естественно, THROW выдает ошибку - невозможно открыть файл.
(я уточнял, что файл должен существовать!!!)

D:\Forth\spf4>spf4.exe
SP-FORTH - ANS FORTH 94 for Win95/98/ME/NT/2000/XP
Open source project at http://spf.sf.net
Russian FIG at http://www.forth.org.ru ; Started by A.Cherezov
Version 4.19 Build 001 at 14.Jan.2008

0x100 CONSTANT buf# \ задать размер буфера файла
Ok

Ok
CREATE buffer buf# ALLOT \ создать буфер заданного размера (в статической области памяти)
Ok

Ok
S" file.name" W/O OPEN-FILE THROW VALUE fId \ открыть файл на запись
Ok

Ok
buffer buf# fId WRITE-FILE THROW \ сохранить содержимое буфера в файл
Ok

Ok
fId CLOSE-FILE THROW
Ok

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 05:26 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Алиска писал(а):
Зачем вносить лишнюю мишуру

Вот и не обращайте внимание на тролей!
И еще, можно смотреть конкурс решения задач..

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Пн апр 07, 2014 11:57 
Алиска писал(а):
изучение начинают не с написания самого языка, а с понимания основ и простейших слов.
Повторяю: FORTH - не язык. FORTH - метод написания яыка. И, поэтому, сначала пишут его, и только потом - на нем.

(И, нифига себе, "простейшее слово" - "работа с файлами". Да, для "понимания его основ" везде, окромя BASIC, надо столько всего перелопатить: интерфейс с ОС, понятие файла, сложившаяся практика...)

Алиска писал(а):
суть его схожа с переводом старинных рукописей с мёртвых языков или же пониманием философских вопросов.
Удачная аналогия. Латынь, например, станет удобной и естественной, только после "изучения сути" - "медицины". Это как учить АвтоЛисп, не интересуясь АвтоКАДом...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Запись в файл
СообщениеДобавлено: Вт апр 08, 2014 22:43 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Алиска писал(а):
...
изучение начинают не с написания самого языка, а с понимания основ и простейших слов. Не стоит бежать вперёд паровоза и сражу же с пеной у рта стараться написать свой форт. Да и вообще - оно надо? Люди, пишущие свой Форт или не умеют до конца в совершенстве работать на предложенном, или же достаточно овладели им, чтоб написать своё понимание его. Но! Оно вообще надо? ...

IMHO Не совсем верно! Появляются новые интересные аппаратные платформы, а реализаций Форт-а не имеется - разве это не стимул написать Форт под данную архитектуру?
ЗЫ А ведь право сообщество - смотрите исходники spf + на rutracker.org есть весьма обширная подборка/раздача с Форт литературой!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24


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

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB