| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Оптимизация кода (3-и процедуры выполнить в одной общей)

Оптимизация кода (3-и процедуры выполнить в одной общей)

Ответ
Поиск в этой теме
Непрочитано 28.09.2020, 07:41 #1
Оптимизация кода (3-и процедуры выполнить в одной общей)
olga87
 
Регистрация: 28.05.2007
Сообщений: 207

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как упростить код ниже, чтобы не повторять одно действие 3 раза: сейчас за одну процедуру добавляется один путь, а путей три. Как сделать добавление нескольких путей с проверкой за одно действие?
Заранее спасибо!

Код:
[Выделить все]
;;Пути доступа к вспомогательным файлам
  (setq suppdir "C:\\Путь1")
  (if (not (vl-string-search (strcase suppdir) (strcase (getenv "ACAD"))))
    (setenv "ACAD" (strcat (vl-string-right-trim ";" (getenv "ACAD")) ";" suppdir))
  )
  (setq suppdir nil)
  (setq suppdir "C:\\Путь2")
  (if (not (vl-string-search (strcase suppdir) (strcase (getenv "ACAD"))))
    (setenv "ACAD" (strcat (vl-string-right-trim ";" (getenv "ACAD")) ";" suppdir))
  )
  (setq suppdir nil)
  (setq suppdir "C:\\Путь3")
  (if (not (vl-string-search (strcase suppdir) (strcase (getenv "ACAD"))))
    (setenv "ACAD" (strcat (vl-string-right-trim ";" (getenv "ACAD")) ";" suppdir))
  )
  (setq suppdir nil)
Просмотров: 1641
 
Непрочитано 28.09.2020, 07:45
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


foreach и вперед
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 28.09.2020, 10:00
#3
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,665



Код:
[Выделить все]
  
(setenv "ACAD" (strcat (setq set_suppdir (getenv "ACAD"))
 						(apply 'strcat (mapcar '(lambda (add_suppdir) (if (not (vl-string-search (strcase add_suppdir) (strcase set_suppdir)))
 																	   			(strcat add_suppdir ";")
 																				""
 												   					   )
 								  				 )
 								  				'("c:\\Путь1" "c:\\Путь2" "c:\\Путь3")
 										)
 						)
				)
)
koMon вне форума  
 
Автор темы   Непрочитано 28.09.2020, 11:23
#4
olga87


 
Регистрация: 28.05.2007
Сообщений: 207


Спасибо!
olga87 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Оптимизация кода (3-и процедуры выполнить в одной общей)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Монолитная ж.б. плита перекрытия жилого этажа с консольными вылетами по периметру на высоте более 40 м. Возможно ли выполнить? Julianna Железобетонные конструкции 45 02.10.2016 11:27
Как выполнить расчет на аварийную ситуацию для маяка, рекламного щита, флагштока? ФАХВЕРК Конструкции зданий и сооружений 10 13.01.2016 16:08
Как правильно выполнить перекрытие с большими пролетами и неправильной формы RustamM Железобетонные конструкции 4 15.07.2015 15:33
Нужен lisp, показывающий все ли линии сходятся в одной точке. ВоваН LISP 8 01.05.2014 14:25
Можно ли качать двумя насосами одной марки с одной трубы нефтепродукт Nikolay12 Архитектура 4 01.05.2014 09:38