锘??xml version="1.0" encoding="utf-8" standalone="yes"?>伊人久久大香线蕉av不卡 ,中文字幕无码久久人妻,国产精品久久自在自线观看http://www.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://www.shnenglu.com/varg-vikernes/archive/2011/08/22/154059.html緋背緋背Mon, 22 Aug 2011 03:50:00 GMThttp://www.shnenglu.com/varg-vikernes/archive/2011/08/22/154059.htmlhttp://www.shnenglu.com/varg-vikernes/comments/154059.htmlhttp://www.shnenglu.com/varg-vikernes/archive/2011/08/22/154059.html#Feedback0http://www.shnenglu.com/varg-vikernes/comments/commentRss/154059.htmlhttp://www.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://www.shnenglu.com/varg-vikernes/archive/2011/08/22/154055.html緋背緋背Mon, 22 Aug 2011 03:05:00 GMThttp://www.shnenglu.com/varg-vikernes/archive/2011/08/22/154055.htmlhttp://www.shnenglu.com/varg-vikernes/comments/154055.htmlhttp://www.shnenglu.com/varg-vikernes/archive/2011/08/22/154055.html#Feedback0http://www.shnenglu.com/varg-vikernes/comments/commentRss/154055.htmlhttp://www.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://www.shnenglu.com/varg-vikernes/archive/2011/08/19/153887.html緋背緋背Fri, 19 Aug 2011 14:04:00 GMThttp://www.shnenglu.com/varg-vikernes/archive/2011/08/19/153887.htmlhttp://www.shnenglu.com/varg-vikernes/comments/153887.htmlhttp://www.shnenglu.com/varg-vikernes/archive/2011/08/19/153887.html#Feedback0http://www.shnenglu.com/varg-vikernes/comments/commentRss/153887.htmlhttp://www.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綾誨瀷錛岄粯璁や負(fù)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://www.shnenglu.com/varg-vikernes/archive/2011/08/19/153861.html緋背緋背Fri, 19 Aug 2011 13:44:00 GMThttp://www.shnenglu.com/varg-vikernes/archive/2011/08/19/153861.htmlhttp://www.shnenglu.com/varg-vikernes/comments/153861.htmlhttp://www.shnenglu.com/varg-vikernes/archive/2011/08/19/153861.html#Feedback0http://www.shnenglu.com/varg-vikernes/comments/commentRss/153861.htmlhttp://www.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 />鐩村埌鏈鐭殑涓涓垪琛ㄤ負(fù)絀轟負(fù)姝€?/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 鍙戣〃璇勮
]]> 亚洲色婷婷综合久久| 亚洲欧洲久久久精品| 亚洲精品高清一二区久久| A级毛片无码久久精品免费| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 欧美午夜A∨大片久久 | 婷婷久久综合九色综合绿巨人| 无码任你躁久久久久久老妇| 日韩人妻无码精品久久免费一| 久久久久亚洲AV无码专区体验| 日产久久强奸免费的看| 亚洲欧美日韩中文久久| 久久久久99精品成人片三人毛片 | 久久无码人妻精品一区二区三区| 亚洲国产另类久久久精品小说 | 国产成人精品久久| 亚洲中文字幕无码一久久区| 99精品久久久久久久婷婷| 丁香色欲久久久久久综合网| 久久夜色精品国产亚洲| 亚洲精品乱码久久久久久自慰| 久久久九九有精品国产| 无码人妻少妇久久中文字幕蜜桃| 久久e热在这里只有国产中文精品99| 久久夜色精品国产欧美乱| 久久噜噜久久久精品66| 久久精品www| 精品一区二区久久久久久久网站| 日本WV一本一道久久香蕉| 久久国产色av免费看| 亚洲中文字幕久久精品无码APP| 国产免费久久精品丫丫| 久久99精品国产麻豆宅宅| 精品久久久久香蕉网| 波多野结衣中文字幕久久| 亚洲国产精品无码久久久秋霞2| 香蕉久久夜色精品国产2020| 精品国产乱码久久久久软件| 久久综合鬼色88久久精品综合自在自线噜噜 | 久久亚洲精品无码观看不卡| 久久久久国产一级毛片高清板|