LINUX.ORG.RU

как посмотреть переменные в lambda

 ,


0

2
(LAMBDA (L)
	(PROG (L1 C)
	      (SETQ L1 L)
	      (SETQ C 0)
	      A (COND ((NULL L1) (RETURN C)))
	      (SETQ C (ADD1 C))
	      (SETQ L1 (REST L1))
	      (GO A)) '(1 2 3 4))

как посмотреть в С?

Переделал

(PROG ((L1 '(1 2 3 4)) (C 0))
	      A (COND ((NULL L1) (RETURN C)))
	      (SETQ C (+ 1 C))
	      (SETQ L1 (REST L1))
	      (GO A))

4
(funcall (LAMBDA (L)
	(PROG (L1 C)
	      (SETQ L1 L)
	      (SETQ C 0)
	      A (COND ((NULL L1) (RETURN C)))
	      (SETQ C (+ 1 C))
	      (SETQ L1 (REST L1))
	      (GO A))) '(1 2 3 4))
4

Вот, наверное, и ответ на вопрос.



Последнее исправление: saufesma (всего исправлений: 3)

Ответ на: комментарий от Begemoth

Да нет, просто вошкаюсь, не с кем поболтать. А теперь и спать пора, завтра рано вставать.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)

В чем вопрос-то? В Лиспе, по-моему, как и в любом другом ЯП, есть функция print в каком-то виде, чтобы выводить информацию плейн текстом в сонсоль. Для рефлексии есть Slime в Emacs, может, в Лиспворксе свой отладчик, всё-таки поделка-то коммерческая, надо за что-то деньги брать.

Virtuos86 ★★★★★
()
Последнее исправление: Virtuos86 (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

Да, можно проинспектировать значение лямбды и там можно докопаться и до вектора значений. ЕМНИП, это возможно и в LW, и в SBCL

den73 ★★★★★
()
Ответ на: комментарий от mv

Не пойму, пару лет назад здесь бы уже обсуждали таблицы где скрываются переменные, а теперь что, ЛОР на ЛОР не похож, да. Ты даже не говоришь как начать, инспектировать переменную С.

saufesma
() автор топика
Ответ на: комментарий от mv

Читая твои отзывы на ЛОР по поводу LispWorks, я его и купил.

saufesma
() автор топика
Последнее исправление: saufesma (всего исправлений: 1)
Ответ на: комментарий от saufesma

Интерактивно (break) воткни. Программно читай доки по интроспекции, я уже ничего не помню.

mv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.