Форум программистов, компьютерный форум, киберфорум
F# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2

Ошибка: Неполный структурированный конструктор в текущей точке или перед ней в выражении

02.10.2014, 22:22. Показов 2663. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Code
1
2
3
4
let rec permutation length alphabet = 
    if length = 0 then Seq.Empty
    else for e in alphabet do yield
        e :: permutation (length - 1) (List.filter (fun k -> k <> e) alphabet))
что не так? подчеркивает e в 4-ой строке и пишет:
Неполный структурированный конструктор в текущей точке или перед ней в выражении
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2014, 22:22
Ответы с готовыми решениями:

Обьясните пожайлуста как и что делает данный оператор в этом выражении fState [x][y] ^= 1;. Неполный код привожу ниже.
Вот код программы из книжки Ч. Петзолд (Програмирование для Windows® 95) #define DIVISIONS 5 ... ... LRESULT CALLBACK WndProc(HWND...

Ошибка: "отсутствует ),] или элемент в выражении условия на значение уровня таблицы"
Мир всем и привет ! что у меня не так: adoquery1.SQL.Text:=('ALTER TABLE кмт ADD цу DATETIME NOT NULL DEFAULT (GETDATE())'); при...

Недопустимый неполный тип , или как передать в функцию указатель на объект класса , или просто объект
Други мои , кодеры. Не могу я ни как передать в функцию объект класса , или что еще лучше(для меня , так как учусь работать с указателями)...

7
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
02.10.2014, 23:18
как то так
Code
1
2
3
4
5
6
let rec permutation length alphabet = 
    if length = 0 
    then Seq.empty
    else seq { for e in alphabet do 
                    yield e 
                    yield! permutation (length - 1) (List.filter ((<>) e) alphabet) }
хотя length по моему лишний
1
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
02.10.2014, 23:40  [ТС]
pycture, спасибо, но это не совсем то, что нужно. На выходе должна быть последовательность листов, получилось сделать так
Code
1
2
3
4
5
6
let rec permutation length alphabet = 
    if length = 0 
    then seq { for i = 0 to 0 do yield List.Empty }
    else seq { for e in alphabet do
                    for lst in permutation (length - 1) <| List.filter ((<>) e) alphabet do
                        yield e :: lst }
но 3-я строка совсем не нравится
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
02.10.2014, 23:50
seq [[]] ?
1
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
03.10.2014, 01:18  [ТС]
Цитата Сообщение от pycture Посмотреть сообщение
seq [[]] ?
seq<'a list>
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
03.10.2014, 07:28
Лучший ответ Сообщение было отмечено rattrapper как решение

Решение

Цитата Сообщение от rattrapper Посмотреть сообщение
seq<'a list>
на так вроде все нормально
Code
1
2
3
4
5
6
let rec permutation length alphabet = 
    if length = 0 
    then seq [[]]
    else seq { for e in alphabet do
                    for lst in permutation (length - 1) <| List.filter ((<>) e) alphabet do
                        yield e :: lst }
дает ожидаемый результат. или нет?

Добавлено через 13 минут
можно еще так
Code
1
2
3
4
5
6
7
8
let rec permutation length alphabet = 
    match length with
    | 0 -> seq [[]]
    | _ -> alphabet 
           |> Seq.collect (fun e -> 
                                List.filter ((<>) e) alphabet
                                |> permutation (length - 1) 
                                |> Seq.map (fun lst -> e :: lst))
1
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
03.10.2014, 20:50  [ТС]
pycture, да спасибо. Еще интересно, можно ли как-нибудь избавится от лямбды во втором коде, например впихнуть List.Cons в 8-ю строку?
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
04.10.2014, 10:58
Цитата Сообщение от rattrapper Посмотреть сообщение
можно ли как-нибудь избавится от лямбды во втором коде, например впихнуть List.Cons в 8-ю строку
я б не стал. на скорости не отразиться, а читабельность может упасть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2014, 10:58
Помогаю со студенческими работами здесь

Событие перед сменой текущей записи в BindingSource
Работаю в Visual Studio 2010, язык VB. Но думаю решение следующей проблемы одинаково для всех. Загружаю с сервера данные в...

Подгрузка новой страницы к текущей и автономный скроллинг к ней
Есть интересно реализованный баннер, при нажатии на который, посредством флэш скрипта, екстернал интерфейса, выполняется функция ява...

Ошибка: Введена запятая, перед которой отсутствует значение или идентификатор
Есть форма &quot;Поиск по пункту вылета&quot; в которой есть список с названием &quot;Пункт вылета&quot; Пользователь выбирает нужный аэропорт и смотрит...

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

Установить соответствующую дату и вычислить разность между ней и текущей датой
Вообщем, задание состоит в следующем: установить соответствующую дату и вычислить разность между ней и текущей датой. Так вот, данная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru