読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Scheme (Lisp) で car と cdr は知ってたけど cadr と caddrは見たこと無かった気がする(´・ω・`)

SICP Python

そいういえば SICPの 2.3.2 で出てきた cadr と caddr は見たこと無かった気がする。car と cdr は知ってたけど。見落としてただけかもしれないけど...


とりあえずどこまで間に『d』を増やしても大丈夫なのかやってみた

scheme
(car '(0 1 2 3 4 5))     ;0
(cadr '(0 1 2 3 4 5))    ;1
(caddr '(0 1 2 3 4 5))   ;2
(cadddr '(0 1 2 3 4 5))  ;3
(caddddr '(0 1 2 3 4 5)) ;*** ERROR: unbound variable: caddddr
(cdr '(0 1 2 3 4 5))     ;(1 2 3 4 5)
(cddr '(0 1 2 3 4 5))    ;(2 3 4 5)
(cdddr '(0 1 2 3 4 5))   ;(3 4 5)
(cddddr '(0 1 2 3 4 5))  ;(4 5)
(cdddddr '(0 1 2 3 4 5)) ;*** ERROR: unbound variable: cdddddr

『car』は『cadddr』まで、『cdr』は『cddddr』までイケた(・∀・)

一応 Python も。
print [0, 1, 2, 3, 4, 5][0]  #0
print [0, 1, 2, 3, 4, 5][1]  #1
print [0, 1, 2, 3, 4, 5][2]  #2
print [0, 1, 2, 3, 4, 5][3]  #3
print [0, 1, 2, 3, 4, 5][4]  #4
print [0, 1, 2, 3, 4, 5][1:] #[1, 2, 3, 4, 5]
print [0, 1, 2, 3, 4, 5][2:] #[2, 3, 4, 5]
print [0, 1, 2, 3, 4, 5][3:] #[3, 4, 5]
print [0, 1, 2, 3, 4, 5][4:] #[ 4, 5]
print [0, 1, 2, 3, 4, 5][5:] #[5]

当たり前だけど、際限無い。