Вопросы по теме 'cons'

Erlang: какое сопоставление с образцом более эффективно (списки)?
Я прохожу через "Erlang прагматического программирования", где есть функция, определенная следующим образом: split("\r\n\r\n" ++ T, L) -> {reverse(L), T}; split([H|T], L) -> split(T, [H|L]); split([], _) -> more. Меня интересует...
334 просмотров
schedule 15.04.2022

Вычисление списка в LISP (странное поведение минусов)
В настоящее время я играю с LISP. Все хорошо, но я не могу понять следующий вопрос. У меня есть эта операция добавления: (define (append l1 l2) (if (eq? l1 null) l2 (cons (first l1) (myappend (rest l1) l2)))) Я...
412 просмотров
schedule 26.02.2023

Результат минусов в The Little Schemer
На странице 178 возникает вопрос: в чем ценность (cons rep-car (cons (cons rep-quote (cons (cons rep-a (cons rep-b (cons rep-c (quote ())))) (quote...
242 просмотров
schedule 09.06.2022

Альтернативная форма добавления выражения схемы MIT
В настоящее время я пытаюсь решить вопрос в среднесрочной практике. Вопрос просит меня написать выражение для добавления двух списков (назовем их список1 и список2), а список2 должен быть добавлен в конец списка1. Функция append не может быть...
358 просмотров
schedule 07.01.2023

Минусы схемы и длина
Я изучаю схему, и я только что столкнулся со своей первой проблемой: (define x (cons (list 1 2) (list 3 4))) (length x) 3 почему на выходе 3, а не 2? я показал х ((1 2) 3 4) почему именно так, а не ((1 2) . (3 4)) ? Спасибо.
169 просмотров
schedule 02.01.2024

Почему line-seq возвращает clojure.lang.Cons вместо clojure.lang.LazySeq?
Согласно записи ClojureDocs для line-seq ( http://clojuredocs.org/clojure_core/clojure.core/line-seq ) и принятый ответ на вопрос о стеке ( В Clojure 1.3, Как читать и писать файл ) line-seq должен возвращать отложенный seq при передаче...
1892 просмотров
schedule 29.05.2023

Схема Факториал
Я знаю, что вы можете написать простую факториальную функцию следующим образом: (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1))))) Однако это сработает только в том случае, если вы отправите номер; это приведет к...
2895 просмотров
schedule 11.03.2024

Что делает (cons? list-name)?
Мне было интересно, что делает (cons? list-name) . Он просто проверяет, что list-name не является непустым списком? Это как противоположность (empty? list-name) ? Если так, то не лучше ли просто сказать (empty? list-name) , а затем сказать...
326 просмотров
schedule 22.11.2023

Чем каждая из вещей отличается от минусов LISP?
Это выходы различных комбинаций аргументов против. Я только начал изучать лисп. Может ли кто-нибудь помочь мне понять это? Break 80 [81]> (CONS '(A) 'B) ((A) . B) Break 80 [81]> (CONS '(A) '(B)) ((A) B) Break 80 [81]> (CONS 'A 'B) (A...
80 просмотров
schedule 14.03.2023

Не удается установить имя окна
Итак, я попытался собрать окно, но когда мне нужно было назвать окно, я сказал себе. (Ошибка: аргумент типа «const char*» несовместим с типом «LPCWSTR»). Программирование метода CreateWindow приведено ниже. Ошибка должна быть в строке 2. hwnd...
62 просмотров
schedule 31.05.2022

Почему `(a) читается как список, а `(a b) нет?
Изучая clojure, я был очень удивлен, обнаружив, что эти два объекта относятся к разным типам: (list? `(inc)) ;; true (list? `(inc 1)) ;; false Теоретически я понимаю, почему вторая форма возвращает false, этот объект на самом деле является...
133 просмотров
schedule 17.02.2024

Схема Рекурсия/Минусы
Я в начале пути. Я пытался понять эту cons часть в течение 2-3 часов, но попал в беду. Я не мог понять эту часть минусов. Как он объединяет 'a d' в зависимости от результата? (define remv (lambda (x ls) (cond [(null? ls) '()]...
202 просмотров
schedule 11.07.2023

Соответствие шаблону x :: xs не разделяет список соответствующим образом в F #?
Я новичок в F # и пытаюсь написать метод split, который разбивает список на 2 части. Требуется кортеж, в котором первый элемент представляет собой количество элементов для разделения, а второй элемент - это список. Например, split (2, [1; 2; 3; 4;...
688 просмотров
schedule 27.02.2023

Схема: мутация локальной переменной в разных средах мутирует один и тот же объект
Рассмотрим эти две похожие процедуры: (define (append-internal-cons obj) (let ((local-var (cons 1 '()) )) (append! local-var (list obj)) local-var)) (define (append-internal-no-cons obj) (let ((local-var '(1) )) (append! local-var...
25 просмотров
schedule 15.05.2022

Как создать точечную пару с nil
У меня есть список имен очередей в следующем виде: '("foo" "bar") Я пытаюсь сохранить очереди в виде списка ассоциаций следующим образом: '(("foo" . nil) ("bar" . nil)) По сути, это список ассоциаций с очередями «foo» и «bar»,...
383 просмотров
schedule 06.04.2023

Поддерживает ли ruby ​​перечисляемый метод map_cons или его эквивалент?
Ruby имеет удобную функцию для перечислений, которая называется each_cons . Который «перебирает данный блок для каждого массива последовательных элементов». Это действительно приятно. За исключением того, что это определенно метод each ,...
1521 просмотров
schedule 22.05.2022

Оценка выражений cons с использованием eval и map (интерпретатор Racket, написанный на Racket)
Мне было поручено написать интерпретатор Racket с использованием самого языка Racket для одного из моих классов в серии из 5 лабораторных работ, и первая касается написания двух основных функций: lookup и evaluate . Функция lookup получает...
490 просмотров
schedule 22.10.2023

Последовательности и коллекции Clojure
В Лиспе все структуры данных строятся из cons-ячеек , то есть они по сути являются связанными списками или двоичными деревьями или и тем, и другим (поправьте меня, если я ошибаюсь). Структуры данных Clojure - это списки , векторы , карты и...
134 просмотров
schedule 06.10.2022

Попытка рекурсивно напечатать треугольник в lisp
Попытка рекурсивно напечатать треугольник в lisp. Я получаю переполнение, но я не знаю, откуда. Имейте в виду, что я новичок в программировании на Лиспе. (defun triangle (n) (if (not (oddp n))(progn (print "This is not an odd...
483 просмотров
schedule 17.04.2023

Схема: Когда я соединяю два атома, я получаю точку посередине. Почему?
Когда я делаю cons на двух атомах, я получаю . между ними. 1]=>(cons 'one 'two) ;Value 1: (one . two) Почему я получаю оператор . . Имеет ли это какое-то значение? Я использую mit-scheme . Я видел эту ссылку на stackoverflow , но...
274 просмотров
schedule 04.08.2023