Używam SBCL, emacs, slime i quicklisp do instalowania różnych pakietów.W Common Lisp co to jest wydrukowane przedstawienie?
I instancji i zacznij akceptor hunchentoot jak tak,
CL-USER> (hunchentoot:start (make-instance 'hunchentoot:acceptor :port 4242))
#<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>
przetestować, otwierając przeglądarkę na porcie 4242 i działa dobrze.
Potem go zatrzymać, mogę skopiować wydrukowany reprezentację i wydawać polecenia, tak jak poniżej:
CL-USER> (hunchentoot:stop #<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>)
#<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>
Działa to tylko z wydrukowanym reprezentacji zwrócony przez odpowiedni start.
Jest to dla mnie zaskakujące. Myślałem, że wydrukowane przedstawienie było po prostu zwrócone, prawdopodobnie dlatego, że sam obiekt nie mógł zostać pokazany. W związku z tym pomyślałem, że to całkiem fajne, że hunchentoot: stop może użyć ciągu tekstowego, aby znaleźć obiekt. Ale potem z większą ilością eksperymentów zauważyłem, że musiałem użyć drukowanej reprezentacji odpowiadającej początkowi, a nie tylko jednej. Zauważyłem również, że po umieszczeniu myszy nad wydrukowaną reprezentacją podświetla cały segment. Więc to nie jest tekst w ogóle, ale obiekt, który jest rzeczywiście w REPL i mogę go używać.
Tak więc z jednej strony powraca to reprezentacja wydruku, więc widzę ją, ale z drugiej strony jest to obiekt, który mogę skopiować i wkleić do REPL. Czy to jest poprawne? Chyba to musi być dlatego, że to robię. Jest to dla mnie całkowicie niesamowite.
Wszelkie wyjaśnienia lub wglądy byłyby bardzo mile widziane.
Doskonały. Dziękuję za link do podręcznika oraz do odniesienia do Zdybel (Google z łatwością znajduje plik PDF). – kes