锘??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 鍙戣〃璇勮
]]> 欧美与黑人午夜性猛交久久久| 久久亚洲电影| 久久精品成人免费网站| 久久国产高清字幕中文| 老司机午夜网站国内精品久久久久久久久 | 久久久久久久久久免免费精品| 亚洲伊人久久综合影院| 精品久久久久久中文字幕| 亚洲精品97久久中文字幕无码| 久久99精品久久久久婷婷| 日韩电影久久久被窝网| 97久久精品国产精品青草| 欧美亚洲国产精品久久| 99久久精品无码一区二区毛片 | 亚洲国产精品一区二区久久| 久久亚洲国产成人影院| 久久久久97国产精华液好用吗| 狠狠综合久久综合88亚洲| 久久久久久无码国产精品中文字幕| 欧美午夜精品久久久久免费视| 四虎久久影院| 久久精品无码一区二区三区免费 | 777久久精品一区二区三区无码 | 国产叼嘿久久精品久久| 97久久精品人妻人人搡人人玩| 亚洲中文字幕久久精品无码APP| 伊人色综合九久久天天蜜桃| 久久www免费人成看国产片| 国产一级做a爰片久久毛片| 精品久久久久久亚洲精品| 久久综合亚洲欧美成人| 久久综合国产乱子伦精品免费| 久久精品国产色蜜蜜麻豆| 精品久久久一二三区| 久久中文字幕人妻丝袜| 伊人久久精品影院| 久久亚洲sm情趣捆绑调教| 国产成人精品综合久久久| 日韩精品久久久肉伦网站| 狠狠色婷婷久久一区二区三区 | 蜜臀久久99精品久久久久久|