ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Již 10.000+ CAD tipů. Přes 118.500 registrovaných u nás, celkem 1.094.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor. Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
Katalog CAD bloků
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoTest zoznamov

 Odpovědět Odpovědět archiv
Autor
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Téma: Test zoznamov
    Zasláno: 11.bře.2013 v 15:02

Zdraím Vás.


Potreboval by som urobiť jednoduchý lisp. Ktorý by testoval zoznam zo zoznamom a vyplul by IBA nezhodné výsledky:

Mám  list ( A1, A2 A3, ...An)

a list (B1, B2, B3, ...Bn)


Potrebujem otestovat A1 s B1 až Bn a zase An s B1 až Bn a zapísať ich do zoznamu. Tu vzniká ale problém. Keď to robim cez repead tak neviem ošetriť aby sa NEzapísali hodnoty, ktoré sú totožné.

Ak A1 sa zhoduje s B1 --> NEzapíše B1 (tot je správne)

pokračujeme A2 sa NEzhoduje s B1 --> zapíše ho do zoznamu (ale ja nechcem už zapísať tento prvok do zoznamu, pretože sa zhoduje s A1).

Ešte som rozmýšlal na if, alebo foreach, ale to by bolo asi riadne zdĺhavé. Nexistuje niečo jednoduchšie na porovnanie zoznamu so zonamom?  Nechcem eq, lebo to mi nič nerieši...


Michal MUCHA
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21908
Přímý odkaz na tuto zprávu Zasláno: 11.bře.2013 v 15:25
Přes cyklení bych to neřešil - LISP si daleko lépe poradí se "seznamovým" přístupem. Např.
 
(defun NonEqList (L1 L2)
 (vl-remove-if '(lambda (e)(member e L2)) L1)
)
 
Pozor, funkce není symetrická:
(NonEqList '(8 7 6 5 4) '(7 5 1 8 0))
'(4 6)
 
Pro symetrický test je třeba spojit oba směry - tedy:
(defun NonEqListSym (L1 L2)
 (append (NonEqList L1 L2) (NonEqList L2 L1))
)
 
Asi by chtělo přidat nějaké kontroly zda je seznam prázdný, apod.
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
michaelflyer Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 05.úno.2007
Lokalita: Slovensko
Používám:
AutoCAD
Stav: Offline
Bodů: 105
Přímý odkaz na tuto zprávu Zasláno: 12.bře.2013 v 08:43
Ďakujem :)
Michal MUCHA
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 1275:VIPJak měřit grafický výkon PC workstation pro Inventor?
Tip 2290:Jak vytisknout stránku HW testu na HP DeskJet 3820?
Tip 11682:VIPZdraví 3D modelu a další tajné klávesové zkratky Inventoru.
Tip 11619:VIPRevit benchmark - jak měřit výkon PC workstation pro Revit.
Tip 1480:Jak přepnout uživatelský profil pomocí makra?
Tip 2050:Chyba 06030A na panelu HP DesignJet 750C.


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,119 sekund.