锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国内精品伊人久久久久影院对白 ,热99RE久久精品这里都是精品免费 ,伊人色综合九久久天天蜜桃http://m.shnenglu.com/varg-vikernes/category/17616.htmlzh-cnMon, 22 Aug 2011 04:45:43 GMTMon, 22 Aug 2011 04:45:43 GMT60lisp let,let*http://m.shnenglu.com/varg-vikernes/archive/2011/08/22/154059.html緋背緋背Mon, 22 Aug 2011 03:50:00 GMThttp://m.shnenglu.com/varg-vikernes/archive/2011/08/22/154059.htmlhttp://m.shnenglu.com/varg-vikernes/comments/154059.htmlhttp://m.shnenglu.com/varg-vikernes/archive/2011/08/22/154059.html#Feedback0http://m.shnenglu.com/varg-vikernes/comments/commentRss/154059.htmlhttp://m.shnenglu.com/varg-vikernes/services/trackbacks/154059.html
let and let* create new variable bindings and execute a series of forms that use these bindings. 
let performs the bindings in parallel and let* does them sequentially.

The form

(let ((var1 init-form-1)
(var2 init-form-2)
...
(varm init-form-m))
declaration1
declaration2
...
declarationp
form1
form2
...
formn)

first evaluates the expressions init-form-1, init-form-2, and so on, in that order, saving the resulting values.
Then all of the variables varj are bound to the corresponding values;
each binding is lexical unless there is a special declaration to the contrary.
The expressions formk are then evaluated in order; the values of all but the last are discarded
(that is, the body of a let is an implicit progn).
let* is similar to let, but the bindings of variables are performed sequentially rather than in parallel.
The expression for the init-form of a var can refer to vars previously bound in the let*.

The form

(let* ((var1 init-form-1)
(var2 init-form-2)
...
(varm init-form-m))
declaration1
declaration2
...
declarationp
form1
form2
...
formn)
first evaluates the expression init-form-1, then binds the variable var1 to that value;
then it evaluates init-form-2 and binds var2, and so on.
The expressions formj are then evaluated in order;
the values of all but the last are discarded (that is, the body of let* is an implicit progn).

For both let and let*, if there is not an init-form associated with a var, var is initialized to nil.

The special form let has the property that the scope of the name binding does not include any initial value form.
For let*, a variable's scope also includes the remaining initial value forms for subsequent variable bindings.


Examples:

(setq a 'top) => TOP
(defun dummy-function () a) => DUMMY-FUNCTION
(let ((a 'inside) (b a))
(format nil "~S ~S ~S" a b (dummy-function))) => "INSIDE TOP TOP"
(let* ((a 'inside) (b a))
(format nil "~S ~S ~S" a b (dummy-function))) => "INSIDE INSIDE TOP"
(let ((a 'inside) (b a))
(declare (special a))
(format nil "~S ~S ~S" a b (dummy-function))) => "INSIDE TOP INSIDE"


緋背 2011-08-22 11:50 鍙戣〃璇勮
]]>
lisp loop,dotimes,dolist,dohttp://m.shnenglu.com/varg-vikernes/archive/2011/08/22/154055.html緋背緋背Mon, 22 Aug 2011 03:05:00 GMThttp://m.shnenglu.com/varg-vikernes/archive/2011/08/22/154055.htmlhttp://m.shnenglu.com/varg-vikernes/comments/154055.htmlhttp://m.shnenglu.com/varg-vikernes/archive/2011/08/22/154055.html#Feedback0http://m.shnenglu.com/varg-vikernes/comments/commentRss/154055.htmlhttp://m.shnenglu.com/varg-vikernes/services/trackbacks/154055.html

Simple LOOP loops forever...

? (loop
    (print "Look, I'm looping!"))
"Look, I'm looping!" 
"Look, I'm looping!" 
"Look, I'm looping!" 
"Look, I'm looping!" 
"Look, I'm looping!" 
"Look, I'm looping!" 
"Look, I'm looping!" 
"Look, I'm looping!" 
... and so on, until you interrupt execution... 
Aborted
? 

? (let ((n 0))
    (loop
      (when (> n 10) (return))
      (print n) (prin1 (* n n))
      (incf n)))
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
NIL
?


Use DOTIMES for a counted loop

? (dotimes (n 11)
    (print n) (prin1 (* n n)))
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
NIL
?


Use DOLIST to process elements of a list

? (dolist (item '(1 2 4 5 9 17 25))
    (format t "~&~D is~:[n't~;~] a perfect square.~%" item (integerp (sqrt item))))
1 is a perfect square.
2 isn't a perfect square.
4 is a perfect square.
5 isn't a perfect square.
9 is a perfect square.
17 isn't a perfect square.
25 is a perfect square.
NIL


? (dolist (item `(1 foo "Hello" 79.3 2/3 ,#'abs))
    (format t "~&~S is a ~A~%" item (type-of item)))
1 is a FIXNUM
FOO is a SYMBOL
"Hello" is a (SIMPLE-BASE-STRING 5)
79.3 is a DOUBLE-FLOAT
2/3 is a RATIO
#<Compiled-function ABS #x1E9CC3E> is a FUNCTION
NIL
? 

DO is tricky, but powerful

? (do ((which 1 (1+ which))
       (list '(foo bar baz qux) (rest list)))
      ((null list) 'done)
    (format t "~&Item ~D is ~S.~%" which (first list)))
Item 1 is FOO.
Item 2 is BAR.
Item 3 is BAZ.
Item 4 is QUX.
DONE
? 
(do ((var1 init1 step1)
     (var2 init2 step2)
     ...)
    (end-test result)
  statement1
  ...)

var1       = which
init1      = 1
step1      = (1+ which)
var2       = list
init2      = '(foo bar baz qux)
step2      = (rest list)
end-test   = (null list)
result     = 'done
statement1 = (format t "~&Item ~D is ~S.~%" which (first list))





緋背 2011-08-22 11:05 鍙戣〃璇勮
]]>
lisp find find-if find-if-nothttp://m.shnenglu.com/varg-vikernes/archive/2011/08/19/153887.html緋背緋背Fri, 19 Aug 2011 14:04:00 GMThttp://m.shnenglu.com/varg-vikernes/archive/2011/08/19/153887.htmlhttp://m.shnenglu.com/varg-vikernes/comments/153887.htmlhttp://m.shnenglu.com/varg-vikernes/archive/2011/08/19/153887.html#Feedback0http://m.shnenglu.com/varg-vikernes/comments/commentRss/153887.htmlhttp://m.shnenglu.com/varg-vikernes/services/trackbacks/153887.html

find item sequence &key from-end test test-not start end key => element

find-if predicate sequence &key from-end start end key => element

find-if-not predicate sequence &key from-end start end key => element

Arguments and Values:

item---an object.

sequence---a proper sequence.

predicate---a designator for a function of one argument that returns a generalized boolean.
鎺ュ彈涓涓弬鏁扮殑鍑芥暟錛岃繑鍥瀊oolean

from-end---a generalized boolean. The default is false.
boolean綾誨瀷錛岄粯璁や負false

test---a designator for a function of two arguments that returns a generalized boolean.
鎺ュ彈涓や釜鍙傛暟鐨勫嚱鏁幫紝榪斿洖boolean

test-not---a designator for a function of two arguments that returns a generalized boolean.
鎺ュ彈涓や釜鍙傛暟鐨勫嚱鏁幫紝榪斿洖boolean

startend---bounding index designators of sequence. The defaults for start and end are 0 and nil, respectively.

key---a designator for a function of one argument, or nil.

element---an element of the sequence, or nil.

findfind-if, and find-if-not each search for an element of the sequence bounded by start and end that satisfies the predicate predicate or that satisfies the test test or test-not, as appropriate.

If from-end is true, then the result is the rightmost element that satisfies the test.

If the sequence contains an element that satisfies the test, then the leftmost or rightmost sequence element, depending on from-end, is returned; otherwise nil is returned.


Examples:

Examples:
(find #\d "here are some letters that can be looked at" :test #'char>)
=> #\Space
(find-if #'oddp '(1 2 3 4 5) :end 3 :from-end t) => 3
(find-if-not #'complexp '#(3.5 2 #C(1.0 0.0) #C(0.0 1.0)) :start 2) => NIL


緋背 2011-08-19 22:04 鍙戣〃璇勮
]]>
lisp MAPC, MAPCAR, MAPCAN, MAPL, MAPLIST, MAPCONhttp://m.shnenglu.com/varg-vikernes/archive/2011/08/19/153861.html緋背緋背Fri, 19 Aug 2011 13:44:00 GMThttp://m.shnenglu.com/varg-vikernes/archive/2011/08/19/153861.htmlhttp://m.shnenglu.com/varg-vikernes/comments/153861.htmlhttp://m.shnenglu.com/varg-vikernes/archive/2011/08/19/153861.html#Feedback0http://m.shnenglu.com/varg-vikernes/comments/commentRss/153861.htmlhttp://m.shnenglu.com/varg-vikernes/services/trackbacks/153861.html

mapc function &rest lists+ => list-1

mapcar function &rest lists+ => result-list

mapcan function &rest lists+ => concatenated-results

mapl function &rest lists+ => list-1

maplist function &rest lists+ => result-list

mapcon function &rest lists+ => concatenated-results

mapcar operates on successive elements of the listsfunction is applied to the first element of each list, then to the second element of each list, and so on. The iteration terminates when the shortest list runs out, and excess elements in other lists are ignored. The value returned by mapcar is a list of the results of successive calls to function.

mapcar 棣栧厛灝嗗嚱鏁癮pply鍒版瘡涓垪琛ㄧ殑絎竴涓厓绱狅紝鍐嶅皢鍑芥暟apply鍒版瘡涓垪琛ㄧ殑絎簩涓厓绱犮傘?br />涓鐩村埌鏈鐭殑鍒楄〃鐨勬渶鍚庝竴涓厓绱犮傚墿涓嬬殑鍏冪礌灝嗚蹇界暐銆?br />瀹冪殑緇撴灉鏄繑鍥炲間笉涓簄il鐨勯泦鍚堛?/em>

mapc is like mapcar except that the results of applying function are not accumulated. The list argument is returned.

mapc 鍜?mapcar 綾諱技銆備笉榪囪繑鍥炵殑鏄涓涓垪琛ㄣ?/div>

maplist is like mapcar except that function is applied to successive sublists of the listsfunction is first applied to the lists themselves, and then to the cdr of each list, and then to the cdr of the cdr of each list, and so on.

maplist 鍜?mapcar 綾諱技錛屼笉榪囬鍏堝皢鍑芥暟apply鍒版瘡涓垪琛紝鐒跺悗灝嗗嚱鏁癮pply鍒版瘡涓垪琛ㄧ殑cdr錛岀劧鍚庡皢鍑芥暟apply鍒版瘡涓垪琛ㄧ殑cddr銆傘?br />鐩村埌鏈鐭殑涓涓垪琛ㄤ負絀轟負姝€?/div>

mapl is like maplist except that the results of applying function are not accumulated; list-1 is returned.

mapl鍜宮aplist綾諱技錛屼絾鏄繑鍥炵殑鏄涓涓垪琛ㄣ?/div>

mapcan and mapcon are like mapcar and maplist respectively, except that the results of applying function are combined into a list by the use of nconc rather than list. That is,

mapcan 鍜?mapcon 綾諱技浜?mapcar 鍜?maplist銆傚畠浠嬌鐢?nconc 榪炴帴緇撴灉鑰屼笉鏄?list銆?br />
Examples
(mapcar #'car '((1 a) (2 b) (3 c))) =>  (1 2 3)   
(mapcar #'abs '(3 -4 2 -5 -6)) => (3 4 2 5 6)
(mapcar #'cons '(a b c) '(1 2 3)) => ((A . 1) (B . 2) (C . 3))

(maplist #'append '(1 2 3 4) '(1 2) '(1 2 3))  =>  ((1 2 3 4 1 2 1 2 3) (2 3 4 2 2 3)) 
(maplist #'(lambda (x) (cons 'foo x)) '(a b c d)) => ((FOO A B C D) (FOO B C D) (FOO C D) (FOO D))
(maplist #'(lambda (x) (if (member (car x) (cdr x)) 0 1)) '(a b a c d b c)) => (0 0 1 0 1 1 1)
(setq dummy nil) =>  NIL   
(mapc #'(lambda (&rest x) (setq dummy (append dummy x)))
'(1 2 3 4)
'(a b c d e)
'(x y z)) => (1 2 3 4)
dummy => (1 A X 2 B Y 3 C Z)

(setq dummy nil) =>  NIL   
(mapl #'(lambda (x) (push x dummy)) '(1 2 3 4)) => (1 2 3 4)
dummy => ((4) (3 4) (2 3 4) (1 2 3 4))

(mapcan #'(lambda (x y) (if (null x) nil (list x y)))
'(nil nil nil d e)
'(1 2 3 4 5 6)) => (D 4 E 5)
(mapcan #'(lambda (x) (and (numberp x) (list x)))
'(a 1 b c 3 4 d 5)) => (1 3 4 5)

(mapcon #'list '(1 2 3 4)) =>  ((1 2 3 4) (2 3 4) (3 4) (4))  



 



緋背 2011-08-19 21:44 鍙戣〃璇勮
]]> 久久精品国产99久久久古代| 久久久无码精品亚洲日韩蜜臀浪潮| 国产一区二区久久久| 久久亚洲熟女cc98cm| 亚洲成色WWW久久网站| 91视频国产91久久久| 成人久久久观看免费毛片| 94久久国产乱子伦精品免费| 国产精品免费看久久久香蕉| 久久久WWW成人免费精品| 久久久久久久久久久精品尤物| 久久久久高潮毛片免费全部播放| 久久综合狠狠色综合伊人| 日韩欧美亚洲国产精品字幕久久久| 7777久久久国产精品消防器材 | 人妻无码αv中文字幕久久琪琪布| 久久久久久亚洲精品影院| 99re久久精品国产首页2020| 久久受www免费人成_看片中文| 久久久精品人妻一区二区三区蜜桃| 久久久亚洲精品蜜桃臀| 丰满少妇人妻久久久久久| 模特私拍国产精品久久| 国产精品免费久久| 久久国产精品99久久久久久老狼| 久久久久久久久久久久久久| 欧美久久综合九色综合| 国产精品嫩草影院久久| 国产精品久久久久乳精品爆| 狠狠色噜噜狠狠狠狠狠色综合久久| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 久久精品国产男包| 久久久99精品一区二区| 国产精品熟女福利久久AV| 99久久777色| 国产精品久久久久无码av| 久久国产免费观看精品3| 午夜天堂精品久久久久| 亚洲精品午夜国产VA久久成人| 久久夜色精品国产亚洲| 2021国内久久精品|