>>>>> "TY" == Tonguc Yumruk <[EMAIL PROTECTED]> writes:
TY> İki çözüm. İlki bence kirli olabilen bir yöntem...
TY> (import 'split-sequence :split-sequence)
TY> Bu o anda içinde bulunduğumuz paketin namespace'ine
TY> split-sequence fonksiyonunu ekler. Fakat bu anladığım
TY> kadarıyla bir isim çakışmasına yol açıyor. Neyse ki
TY> resolve-conflict diye bir restart var ve sembolleri uygun
TY> bişimde değiştirmenize izin veriyor.
Evvelce onu bir sembol olarak gormustur de ondan oluyordur bu buyuk
ihtimalle. Mesela
; temiz sbcl
CL-USER> (require 'split-sequence) ;burada split sequence intern oldu
NIL
CL-USER> (unintern 'split-sequence) ;giiit
T
CL-USER> (import 'split-sequence:split-sequence)
T
;yeninden sifir sbcl
CL-USER> (require :split-sequence) ; require "string designator" alir
NIL
CL-USER> (import 'split-sequence:split-sequence)
T
Bunlar REPL icin. Eger dosyalarda saklayacaksaniz su da var:
;;denenmedi
;; sistemlerin tanimladigi dosya ayri olabilir
(defpackage #:IP-MAYMUNLUGU
(:nicknames #:IP)
(:use #:COMMON-LISP)
;;burada split-sequence'in evvelce gorulmus olmasi lazim
(:import-from #:split-sequence #:split-sequence)
(:export #:parse-ip))
;;belki baska dosya
(in-package #:IP-MAYMUNLUGU)
(defun parse-ip (ip)
(mapcar #'parse-integer
(split-sequence #\. (symbol-name ip))))
Bu arada eger butun exported sembolleri kullanmak istiyorsaniz
"use-package" da var. Hyperpsec filan biliyor bunlari. Bir iki cok
packageli sisteme bakarsaniz ne tur tarzlarin mumkun oldugu iyice
ortaya cikar.
BM
_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp