2014-11-20 2 views
1

Я только начал играть с ракеткой и хотел включить несколько звуков в программу, поэтому я нашел, что процедура play-sound находится в библиотеке racket/gui/base, но когда она включена в библиотеку 2htdp/image, получить эту ошибкуRacket (play-sound) undefined

*module: identifier already imported from a different source in: 
make-color 
racket/gui/base 
2htdp/image 

Я получил play-sound работает нормально только с помощью racket/gui но это не определено при использовании 2htdp в одиночку.

>(play-sound "sounds/smash.wav" #t) 
. . play-sound: undefined; 

ответ

2

Вы можете использовать only-in, чтобы требовать от модуля только определенных функций. Например, это оценивается без ошибок:

#lang racket 

(require 2htdp/image 
     (only-in racket/gui/base play-sound)) 

(define (f) 
    (play-sound "/path/to/file" #t)) 
Смежные вопросы