« // , ». , : « ?» ( ), « , ?» ( ) « , , » ( ). : , , , . .
, , , .. . - , , , . , , .
, — — . (
) , , , , — , , — , .
?
, . … , , . , — . , , , , . , , .
, - . , - , . , . , . , , .
, , — , , , , , , , .
,
. // , - . , . : //, , . «» « », .
, . — . , , , . : ? , , . , , , . : « , ». . , , , . , , , , . .
, , , … . , . . , , , . . . , -.
—
- ? . , , , . . -. ( ) -, () . () , -, , () - (), , . : — — , , . , . : . — . — ( ) , . «» . «» «» «», . «» , , , , — , .
. , . , Haskell ,
n :
fibonacci2 a b = a : (fibonacci2 b (a+b))
fibonacci = fibonacci2 1 1
nfibonacci n = take n fibonacci
fibonacci2 , , fibonacci2 b (a+b). ( !) :
def fibonacci2(a, b) :
return [a] + fibonacci2(b, a+b)
def fibonacci() :
return fibonacci2(1, 1)
def nfibonacci(n) :
res = []
data = fibonacci()
for i in range(n) :
res.append( data[i] )
return res
nfibonacci.
fibonacci ( ) . , nfibonacci (, , «»). «» , ,
n ,
nfibonacci n ,
fibonacci. : — , — ,
n- — . «» .
: "
, ! , ". , , . , «» , «» . , , , C, .
. , . — , , « » , , , . , , . , , :
def fibonacci() :
a = 1
b = 1
yield a
yield b
while True :
c = a + b
yield c
a = b
b = c
def nfibonacci(n) :
return [e for e in itertools.islice(fibonacci(), n)]
fibonacci() — , .
fibonacci - . , , . «». C++ ,
Fibonachi . , — .
, , , .
—
, — «» . — . .
, , , . .
, , . , , , , . , , «» . , , «» , () . — , , , , .
,
def f(x,y) :
...
def g(x, y) :
return f(y, x)
g(a, b) f(b, a) a b.
f , , . ,
b —
f . «» , (
b f) . , , . . ,
«» () .
, «» , . . , . , . , «» .
,
— ,
, . , «» , «». , .
. - — , . . : «» ? — . — . , «» , . , , ( ), , , «» . , , . , .
? .
, . , , , . , (, ) , , . . . , , , . , . , . , Maybe std::optional C++ , - .
?
— , - - . « »? , , . , ? , . , «». : - , . , — , . , «» , , , (), .
, . — « » , : — . , , « ». , , , — . , — . , .
map fold. —
—
f(x, y). «» , . ,
x.
,
f , , ,
y. ,
x — ,
g(y).
f ,
f(x),
g(y). ,
N>1 , ,
N-1 .
? , . - :
def partial(f, x) :
def g(*args) :
return f(x, *args)
return g
partial,
N , — ,
N-1 . ,
N-1 . , . ? , . ,
partial , . ,
g — . ?
x (
g).
g,
x f. , — .
, . , . . , . . , . , , . . ? , , , . , , « », ( , ) . .
?
. :
- , , , , . . — .
- , , . . , «» «» . , . .
- , , , . . — .
- , . , «» ; , . , - , - . .
- , . , . , , , . .
— , () . -, , , - . . , ; , . , , , , . , , , . , — , - . , , , , , .
PsyHaSTe.
. .