Я программист C #, изучающий Scheme, и у меня много проблем, потому что я не понимаю Scheme.
Я написал этот код с большой помощью:
#lang racket
(define sort-asc-by-second
(lambda (lst)
(sort lst
(lambda (x y) (< (cdr x) (cdr y))))))
(define sum
(lambda (lst)
(apply + (map cdr lst))
)
)
(define my-function
(lambda (lst)
(
(define sorted (sort-asc-by-second lst))
(define suma (sum lst))
(define lista (map (lambda (p) (cons (car p) (/ (cdr p) suma)))))
))
)
Но я получаю следующую ошибку:
define: недопустимо в контексте выражения в: (определить отсортировано (sort-asc-by-second lst))
В этой строке:
(define sorted (sort-asc-by-second lst))
Как мне объявить переменную?Возможно, проблема в том, что я программист на C # и не понимаю Scheme.