[scheme] - build-vector - неявная передача параметра в функц
От: DemAS http://demas.me
Дата: 10.02.08 08:08
Оценка:
Я тут дошел до определения вектора и до примера, иллюстрирующего умножение вектора на число:

  (define (displacement v t)
  (local (
          (define 
            (new-item i) (* (vector-ref v i) t)
            )
          )
    (build-vector (vector-length v) new-item)
    )
  )
  
> (displacement (vector 1 2 3) 5)
(vector 5 10 15)


В общем то, все понятно, но один момент нигде ранее не был описан, поэтому хотелось бы уточнить. А каким образом параметр i передается в функцию new-item?

То есть, вот определение функции:
   (define (new-item i)...


Вот ее вызов:
   ... new-item)


Нуром чую, что язык автоматически в качестве этого параметра протягивает туда порядковый номер элемента в векторе. Но ведь нигде не сказано, что так можно???
Что это за конструкция языка? Где так можно делать: только в инструкции build-vector, в ограниченном наборе инструкций или это какое-то глобальное свойство языка?
... << RSDN@Home 1.2.0 alpha rev. 786>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.