smlnj listdir проблемы - PullRequest
0 голосов
/ 23 марта 2009

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

Q2) readlist (имя файла), который читает список имен файлов (каждое из которых было создано listdir в (Q1) и объединяет их в один большой список. (читает из текстового файла в Q1, а затем распределяет содержимое в 1 большой список, содержащий всю информацию)

Дело в том, что я узнал от школьного лектора только на вводном разделе, что даже не показан пример системного ввода или вывода, даже не изучена функция «use file». если кто-нибудь, кто знает sml, видит это, пожалуйста, помогите. Спасибо всем, кто приложил усилия, чтобы помочь мне.

Спасибо за ответ, в настоящее время я использую SMLNJ, чтобы попытаться это сделать. В основном, Q1 требует, чтобы я перечислил файлы каталога с «именем каталога», представленным в текстовом файле в «имя файла». Q2 требует, чтобы я прочитал из текстового файла "filename" и затем поместил содержимое в один большой список.

Кстати, если вы, люди, только продолжали видеть этот пост, пожалуйста, попробуйте также задать вопросы. В настоящее время я застрял, пытаясь прочитать из TXT-файла и добавив его в список, я могу сделать это для одной строки, но сейчас я пытаюсь сделать это для всего файла:

fun readlist(infile : string) =
let val ins = TextIO.openIn infile

fun listing() = 
TextIO.inputLine ins;

in listing()
end;
TextIO.closeIn;

Ответы [ 2 ]

1 голос
/ 25 марта 2009

Ты уверен, что я не учил тебя? ты должен мне один куриный пирог.

1 голос
/ 23 марта 2009

Мне очень трудно разобраться, какие вопросы вы пытаетесь задать.

Функции, о которых вы спрашиваете, не являются частью стандартной базовой библиотеки для ML. Если вы должны их написать, вам будет трудно без какого-либо модуля Posix. Вы можете сказать своему инструктору, что я не заботился об этом назначении.

Moscow ML содержит listDir функцию, которая на удивление проста:

- load "Mosml";
> val it = () : unit
- Mosml.listDir ".";
> val it = ["natural-semantics.djvu", "natural-semantics.pdf"] : string list
- 

Чтобы получить больше помощи, пожалуйста, проясните немного, что вы спрашиваете.


РЕДАКТИРОВАТЬ: Поскольку это домашнее задание, я не просто должен дать вам ответ, но некоторые полезные функции включают openDir, readDir и closeDir из структуры OS.Filesys. Они скажут вам, что находится в каталоге. Затем для чтения и записи файлов вам понадобится TextIO.

Вы найдете документацию Standard Basis Library незаменимой.

...