Форум программистов, компьютерный форум, киберфорум
AutoLISP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,680
1

AutoLISP; как сделать так, чтобы функции princ , prin1 и print печатали аргумент ПО ОДНОМУ РАЗУ

04.02.2017, 22:00. Показов 3354. Ответов 7

Author24 — интернет-сервис помощи студентам
Друзья! Работаю в VisualLISP, AutoCAD

Неужели ничего умного не придумали на этот счёт? Вывожу значение какой-нибудь переменной, например:

Lisp
1
(princ "Hello, word!")
Вот охота была два раза любоваться на одно и то же значение.

Спасибо, кто откликнется.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2017, 22:00
Ответы с готовыми решениями:

Сделать так, чтобы каждое слово генерировалось по одному разу, но в разброс
дана программа, в которой генерируется рандомное слово при нажатии на кнопку. как сделать так,...

Как сделать так, чтобы несколько клиентов подключались к одному серверу?
Приветствую!У меня есть 2 кода для клиента и сервера,осуществлённые через сокеты: Клиент...

Пройдите в квадрате от клеточки 1 к клеточке 2 так, чтобы посетить все клеточки по одному разу
Всем привет. Есть такая задача: Пройдите в квадрате от клеточки 1 к клеточке 2 так, чтобы посетить...

Пройдите в квадрате от клеточки 1 к клеточке 2 так, чтобы посетить все клеточки по одному разу
Пожалуйста прокомментируйте что делает каждая строчка этой программы! Пройдите в квадрате от...

7
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
04.02.2017, 23:02 2
Не охота любоваться два раза — не печатайте. Вы работаете, видимо, в REPLе: read-evaluate-print loop. Он сам печатает вычисленные результаты.
2
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,680
04.02.2017, 23:30  [ТС] 3
Цитата Сообщение от helter Посмотреть сообщение
Не охота любоваться два раза — не печатайте.
ну мне же нужно увидеть значение переменной. Я работаю в VisualLISP. Пример не совсем удачный я привёл. Допустим переменная temp в результате некоторых действий изменена и мне нужно узнать как именно. Как узнать, два раза не любуясь на значение temp?

Lisp
1
(princ temp)
выводит значение temp два раза.

Вас я услышал- никак. Может быть, ещё кто-нибудь скажет?
0
1057 / 951 / 109
Регистрация: 04.11.2012
Сообщений: 991
04.02.2017, 23:36 4
может так
Lisp
1
!temp
2
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
05.02.2017, 00:05 5
Цитата Сообщение от kravam Посмотреть сообщение
Вас я услышал- никак.
Плохо слушаете.
Цитата Сообщение от helter Посмотреть сообщение
Он сам печатает вычисленные результаты.
Что здесь непонятного — за вас уже печатают, вам специально печатать не нужно.
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
37300 / 20734 / 4272
Регистрация: 12.02.2012
Сообщений: 34,122
Записей в блоге: 14
05.02.2017, 13:08 6
kravam, подозреваю, что один раз печатает print, а другой - ядро Лиспа (как результат последней вычисленной формы). Если не хочется "любоваться на два значения", то модифицируй код, к примеру, так:

Lisp
1
2
3
4
(defun f (...)
  ...
  (print "Тра-та-та")
  'OK)
В этом случае будет напечатано "Тра-та-та", а под ним OK (как признак успешного завершения).

Добавлено через 4 часа 35 минут
Цитата Сообщение от kravam Посмотреть сообщение
Вывожу значение какой-нибудь переменной,
- выводить значения переменных нужно не так:

Lisp
1
 (print v)
а так:

Lisp
1
  v
3
188 / 155 / 17
Регистрация: 18.12.2015
Сообщений: 179
08.02.2017, 12:35 7
Вот ещё вариант:

Lisp
1
2
3
4
Command: (defun my-print (x) (print x) (print))
MY-PRINT
Command: (my-print 123)
123
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
37300 / 20734 / 4272
Регистрация: 12.02.2012
Сообщений: 34,122
Записей в блоге: 14
08.02.2017, 16:03 8
А в HomeLisp дело обстоит так:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(setq *x* 111)
 
==> 111
;; Создана глобальная переменная *x*
 
(defun f (x y)
  (varlist) ;; вывести список активных переменных
  (+ x y)) 
 
==> F
 
(f 555 666)
 
+-------------------------------+---------+----------------------------------+
| Имя переменной                | Тип     | Значение                         |
+-------------------------------+---------+----------------------------------+
|Y                              |Лексич.  |666                               |
|X                              |Лексич.  |555                               |
|*                              |Глобальн.|F                                 |
|*X*                            |Глобальн.|111                               |
+-------------------------------+---------+----------------------------------+
 
==> 1221
1
08.02.2017, 16:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2017, 16:03
Помогаю со студенческими работами здесь

Как сделать так, чтобы при масштабировании объекта, объект расширялся только по одному вектору
Всем привет, я новичок в Unity3D. Столкнулся с проблемой при создании лазера. Цилиндр, который я...

Нужно сделать так, чтобы программа запускалась только если ей передать заданный аргумент.
сразу приношу извинения, но я не нащёл подходящего раздела. суть такова. есть...

Указатели или "как сделать так, чтобы две переменные обращались к одному участку памяти?"
Доброго времени суток, уважаемые. Осваиваю потихонечку шарпея и столкнулся с такой вот загвоздкой....

Аргумент flush функции print
Не совсем понимаю зачем этот аргумент и как он работает, по идее он должен очищать файл, в который...

Как сделать так, чтобы функции были не вложенными?
получается так, что сначала у меня идет функция int main(), потом int sum, и потом int maxx. Они...

Как сделать так, чтобы из функции возвращались различные значения?
Ребят, помогите. Имеется такой код, мне надо,чтобы из функции возвращались различные значения. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru