Scheme – вопросы и ответы

75
голосов
1
ответ
Схема имеет нативную функцию (sqrt x), которая, очевидно, находит квадратный корень переменной x. Существуют ли какие-либо нативные функции или конструкции, полезные при определении того, соответст...
1 месяц, 3 недели назад Adrian M.
66
голосов
3
ответа
У меня есть это решение для кода SICP в Lisp: ;; ex 1.11. Iterative implementation (define (f n) (define (iter a b c count) (if (= count 0) a (iter b c (+ c (* 2 b) (* 3 a)) (- count 1)))) (iter 0 ...
1 месяц, 3 недели назад user4910881
83
голоса
1
ответ
У меня есть следующая вариационная функция (define doSomething (lambda (x . rest) ... . Функция вызывается с помощью чисел, например: (doSomething 1 2 3 4 5) (поэтому с этим вызовом x будет 1 и res...
1 месяц, 3 недели назад Jessica Donston
91
голос
3
ответа
Лямбда-выражение, которое принимает функцию (одного аргумента) и число, и применяет функцию к удвоенному числу.
1 месяц, 3 недели назад dave
67
голосов
4
ответа
Является ли такая структура функций хвостовой рекурсивной? function foo(data, acc) { ... return foo(data, foo(data, x)); } По определению рекурсивная функция является хвостовой рекурсивной, когда р...
1 месяц, 3 недели назад Pumpkin
94
голоса
3
ответа
Попытка повернуть список слева в схеме/ракетке. Например: (rotat-left '(abc)) выходы (bca) Здесь код ze! (define (rotate-left LIST) (if(null? LIST)'() (cons(car LIST)(cons(cdr LIST)'()))))) К сожал...
1 месяц, 3 недели назад Don Johnson
54
голоса
1
ответ
Есть ли способ реализовать что-то подобное while time left do something где время - это переменная, установленная на x secs/minutes/hours в racket? Я мог бы использовать некоторую константу для мод...
1 месяц, 3 недели назад JennyToy
66
голосов
2
ответа
Вот что вы можете сделать в Схеме: > (define (sum lst acc) (if (null? lst) acc (sum (cdr lst) (+ acc (car lst))))) > (define sum-original sum) > (define (sum-debug lst acc) (print lst) (pr...
1 месяц, 3 недели назад Matt
101
голос
1
ответ
Это не вопрос домашней работы, я просто остался недоволен моим пониманием интервальной арифметики и последствиями упражнений 2.16. Арифметика интервалов, определенная в разделе 2.14, не обладает св...
1 месяц, 3 недели назад MVTC
105
голосов
1
ответ
Я не очень хорошо знаком с Схемой, поэтому у меня проблемы с проблемой. Напишите процедуру схемы, которая принимает список списков номеров, каждый из которых содержит не менее 1 номера. Ваша процед...
1 месяц, 3 недели назад desireToLearn
90
голосов
1
ответ
В схеме функция (map fn list0 [list1 .. listN]) имеет ограничение на то, что списки должны иметь одинаковое количество элементов. Исходя из Python, мне не хватает свободы понятий Python, которые оч...
1 месяц, 3 недели назад SuperElectric
75
голосов
1
ответ
Функция компоновки сначала применяет последнюю функцию, т.е. Применяет отправленные функции в обратном порядке. Например: ((compose sqrt add1) 8)
1 месяц, 3 недели назад rnso
94
голоса
1
ответ
(curry-n f n) f: функция, которая принимает n аргументов n: положительное целое число> = 2 например, скажем (define (add2 a b c d) (+ 2 a b c d)) (define func (curry-n add2 4)) ((((func 1) 2) 3)...
1 месяц, 3 недели назад boxy
-4
голоса
1
ответ
Предположим, что у нас есть функция f. Эта функция принимает в качестве аргумента список l и возвращает функцию одного аргумента g. Функция g принимает в качестве аргумента x и ищет x в списке l. Е...
1 месяц, 3 недели назад user3627976
98
голосов
1
ответ
Я изучаю Racket (ранее PLT Scheme, диалоги LISP) и пытаюсь выяснить, как обрабатывать события, отличные от paint-callback (возможно, это даже не один). Я очень много надеялся на эту часть документа...
1 месяц, 3 недели назад L01man
67
голосов
4
ответа
Вопрос заключается в следующем: Использовать накопительную рекурсию Функция потребляет строку и создает новую строку Каждый символ, который появляется последовательно, заменяется буквой и количеств...
1 месяц, 3 недели назад user4910881
-6
голосов
4
ответа
как добавить (1 2 3) в конец () чтобы сделать ((1 2 3)) как добавить (4 5 6) до конца этого сделать ((1 2 3) (4 5 6)) как мне добавить "|" до конца этого сделать ((1 2 3) (4 5 6) "|") с НЕТ пунктир...
1 месяц, 3 недели назад masukomi
75
голосов
2
ответа
У меня возникают проблемы с некоторыми сложными лямбда-выражениями в Scheme, и я хотел бы посмотреть, как они оцениваются интерпретатором. Я хотел бы, чтобы интерпретатор Схемы печатал все этапы оц...
1 месяц, 3 недели назад Danilo Piazzalunga
53
голоса
1
ответ
Я несколько раз читал статью Дэна Фридмана о монадической оценке, реализованной на Схеме, и меня беспокоит упражнение с конца главы State monad . В статье очень ясно, что вы получаете глубокое пони...
1 месяц, 3 недели назад alinsoar
74
голоса
1
ответ
Я пытаюсь создать программу, которая сортирует список, а затем группирует каждую часть списка, который сортируется в отдельные списки и выводит его в список списков. Вот чек, который должен сделать...
1 месяц, 3 недели назад Ryan
55
голосов
1
ответ
Курица поставляется с большинством основных SRFI, которые мне бы хотелось, но одна вещь, которую я нахожу очень расстраивающей, заключается в том, что, насколько я могу судить, я должен использоват...
1 месяц, 3 недели назад Benjamin Pollack
-4
голоса
1
ответ
Почему результат (cons (list 1 2) (list 3 4)) есть ((1 2) 3 4) ? Интересно, почему длина результата равна 3 (3 элемента). Моя интуиция заставляет меня думать, что (list 1 2) - это список, (list 3 4...
1 месяц, 3 недели назад witrus
136
голосов
4
ответа
Мне сложно понять, что происходит с примером Little Schemer evens-only*&co на стр. 145. Здесь код: (define evens-only*&co (lambda (l col) (cond ((null? l) (col '() 1 0)) ((atom? (car l)) (c...
1 месяц, 3 недели назад melwasul
110
голосов
2
ответа
Запуск guile (в интерактивном режиме или со скриптом) дает эту ошибку на моем ubuntu 12.04: - guile test.scm Backtrace: In ice-9/boot-9.scm: 149: 2 [catch #t #<catch-closure 9ec72f0> ...] 157...
1 месяц, 3 недели назад Himanshu
91
голос
1
ответ
Просто начал использовать GIMP сегодня. Когда я вручную изменяю размер холста в GIMP (так, чтобы он был меньше размера изображения), он позволяет мне перемещать изображение вокруг, чтобы я мог "изм...
1 месяц, 3 недели назад zdyn
74
голоса
2
ответа
Мне нужна помощь в добавлении умножения значений с переменными и присвоении их переменной в Схеме. например, я.. (define overall 0) (define part1 0.15) (define part2 0.20) (define part3 0.4) (defin...
1 месяц, 3 недели назад Roy
82
голоса
2
ответа
Если мой вход - это список списков, то я хочу вывести список с элементами из ввода, чтобы их перетасовали, как колоду игральных карт. Например, если вход имеет значение "((1 2 3) (4 5)), то я хочу,...
1 месяц, 3 недели назад Nopiforyou
54
голоса
3
ответа
Я работаю над книгой SICP. Я использую SCM в Windows вместо самой программы Scheme. Когда я запускаю функцию фильтра ниже, я получаю (1 3 5. #F), как показано ниже в окне кода. Я не могу понять, ка...
1 месяц, 3 недели назад Kris
53
голоса
1
ответ
Большинство реализаций Lisp включают примитив, называемый runtime . Я использую DrRacket и когда я нажимаю Run я вижу runtime: unbound identifier in module in: runtime . Как это исправить?
1 месяц, 3 недели назад Anatoly
53
голоса
1
ответ
Я пытаюсь сделать кодирование/декодирование huffman в схеме, поэтому у меня есть функция "частоты", которая делает список частот. Я также создал функцию, которая обнаружила, что пара формирует спис...
1 месяц, 3 недели назад user3050163
85
голосов
2
ответа
Я пишу рекурсивный код для Bubble Sort (от самого маленького до самого большого путем замены) У меня есть код, чтобы сделать вид пузыря только один раз (define (bubble-up L) (if (null? (cdr L)) L (...
1 месяц, 3 недели назад Avery Poole
73
голоса
1
ответ
Я использую DrRacket, если это помогает. Так, например, оценивая (* 1 2) след оценки будет: eval: (* 1 2) Env0 eval: * Env0 list-of-values: (1 2) Env0 eval: 1 Env0 list-of-values: (2) Env0 eval: 2 ...
1 месяц, 3 недели назад VadislavBby
111
голосов
3
ответа
Я читаю следующий раздел SICP http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html#%_sec_4.1.7 В соответствии с текстом следующее преобразование eval улучшит предложение улучшения производи...
1 месяц, 3 недели назад wk1989
66
голосов
1
ответ
Я новичок в Racket, и я прочитал множество веб-страниц информации, но у меня возникли проблемы с реализацией общего дерева в виде списка номеров. Если я беру в следующем дереве предварительного зак...
1 месяц, 3 недели назад James Lee
65
голосов
1
ответ
Я должен написать функцию pow-incre, которая принимает произвольное количество аргументов и один необязательный параметр. Для каждого аргумента он должен вычислить свою мощность на некоторое число,...
1 месяц, 3 недели назад TheAptKid
64
голоса
3
ответа
Я создал файл abc.scm и попытался скомпилировать его в двоичную (или любую другую схему), используя команды " guild compile ", " scm " и " guile " в терминале в Ubuntu. Для " guild compile abc.scm ...
1 месяц, 3 недели назад Tarun Maganti
53
голоса
1
ответ
Я читаю SICP, а в первой главе упоминается код, как показано ниже: #lang scheme (define (count-change amount) (cc amount 5)) (define (cc amount kind-of-coins) (cond ((= amount 0) 1) ((or (< amou...
1 месяц, 3 недели назад scriptboy
75
голосов
2
ответа
Я работаю над книгой Структура и реализация компьютерных программ , и в одной из глав был использован код, используемый для вычисления факториала числа: (define (factorial n) (fact-iter 1 1 n)) (de...
1 месяц, 3 недели назад Adam Arold
-4
голоса
1
ответ
Я работаю над программой racket, где мне нужно передать выражение в списке и вернуть переменные, используемые в этом списке. Входные данные: '(A or (B and C)) Вывод: '(A B C) Я попробовал приведенн...
1 месяц, 3 недели назад user4540962
75
голосов
2
ответа
Я пытаюсь выяснить, каково именно самое большое значение int в схеме? Как, например, в Java, наибольшее значение со знаком int равно 2 ^ 31 - 1. Как я могу получить это значение в схеме (для наибол...
1 месяц, 3 недели назад Drogba
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема