Вопросы по теме '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