Geo*_*hev 4 scheme functional-programming racket
Racket(Scheme) 中是否有一些函数可以给我元素,在列表中应用给定函数后产生最小值。类似于(apply min (map f list))但在应用 f 之前返回元素。例如:
(define lst '((1 . 3) (3 . 8) (5 . 6))
(define (f pair)
(- (cdr pair) (car pair)))
(minimum f lst)
Run Code Online (Sandbox Code Playgroud)
这应该给'(5 . 6).
至少在没有直接函数的情况下,应该有一个具有更高阶函数的单行衬里(因为我必须填写一行才能获得这种行为)。有任何想法吗?
尝试argmin:
#lang racket
(define lst '((1 . 3) (3 . 8) (5 . 6)))
(define (f pair)
(- (cdr pair) (car pair)))
(argmin f lst)
Run Code Online (Sandbox Code Playgroud)
'(5 . 6)根据您的需要生产。