рд╕реНрдЯреЗрдЯрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╕рдорд╛рд░реЛрд╣ рд╣реЛрдВ

рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рднрд┐рдХреНрд╖реБрдУрдВ рдкрд░ рджрд┐рдП рдЧрдП рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рдореБрдЦреНрдп рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ рдФрд░ рдкрд░рд┐рд╡рд╛рд░ рдХреЛ рд╕рдордп рджреЗрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рд░реА рд╣реИред рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрднреБрдд рдХреЙрдорд░реЗрдб рдорд╛рд░реНрдХ рд╕реЗрдореИрди рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рддрд╛рдЬрд╛ рдиреЛрдЯ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЙрддреНрд╕реБрдХ рдкрд╛рдпрд╛ ред


рдореИрдВ рдЕрдХреНрд╕рд░ рд╕реНрдЯреИрдЯрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдмрдирд╛рдо рдбрд╛рдпрдирд╛рдорд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓рдВрдмреА рдФрд░ рдЧрд░рдорд╛рдЧрд░рдо рдмрд╣рд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддрд╛ рд╣реВрдВред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЦреБрдж рдХреЛ рд╕реНрдЯреИрдЯрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рдХ рдорд╛рдирддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓реЗрдЦ рд╕реНрдЯреИрдЯрд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЖрдо рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рдХреЛ рдЦрддреНрдо рдХрд░рдирд╛ рд╣реИред


рд╕рдорд╛рд░реЛрд╣


рдЬреЛ рд▓реЛрдЧ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рдЗрд╕ рддрдереНрдп рдкрд░ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╛рд░реЛрд╣ рдХреА рдХрдореА рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдмрдирд╛рддреА рд╣реИред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдХ рдЧрд▓рдд рджреНрд╡рд┐рднрд╛рдЬрди рд╣реИред


рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдЖрдк рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рдереЗред

рд╡реЗрдВрдХрдЯ рд╕реБрдмреНрд░рдордгреНрдпрдо

рдбрд╛рдпрдирд╛рдорд┐рдХ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛рдПрдВ рдпрд╣ рдЖрднрд╛рд╕ рджреЗрддреА рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╛рд░реЛрд╣реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рднреА рдореБрдЦреНрдп рдзрд╛рд░рд╛рдПрдВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛рдПрдВ рдПрдХ рд╣реА рдкрд░рд┐рд╡рд╛рд░ рдХреА рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рд░реЛрд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдЙрд╕реЗ рдПрдХреНрд╕реЗрдкреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЭреВрдард╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рднрд╛рд╖рд╛рдПрдВ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдПрдХ рдУрд╡рд░рд╣реЗрдб рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИрдВред


рдЗрд╕рд╕реЗ рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрдпрд╛ рдХрд┐ рдПрдХ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╕реЗрд░реЗрдореЛрдирд┐рдпрд▓ рдЬреЛрди рд╣реИ :



рдмреЗрд╢рдХ, рдпрд╣ рдЖрд░реЗрдЦ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд░рд▓реАрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред C ++, Java рдФрд░ CтЩп рдРрд╕реА рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдорд╛рд░реЛрд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрдирдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдореЗрдВ рдРрд╕реА рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо F H рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рд╕рд╣рд┐рдд рдЯреНрд░рд╛рдВрд╕-рд╕реЗрд░реЗрдордиреА рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред


рдиреАрдЪреЗ рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреЛрдб рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рд╣рдо рд╕рдорд╛рд░реЛрд╣ рдХреЛ рдКрдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рддреИрдпрд╛рд░реА рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдирд╛, рдХрдХреНрд╖рд╛рдПрдВ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛, рдкреНрд░рдХрд╛рд░ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдореИрдВрдиреЗ рдЙрд╕ рдХреЛрдб рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬреЛ рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдзреАрди рд╡рд┐рд╖рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рдХреНрдпрд╛ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред


рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рд░реЛрд╣


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдФрд░ рдХреБрдЫ рдФрд░ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВред рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╕реВрдЪреА рд╕реЗ рдХрд┐рддрдиреЗ рдЖрдЗрдЯрдо рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдЬрдм рддрдХ рд╣рдЯрд╛рдП рдЧрдП рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЧ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛ, рдЖрдкрдХреЛ рдмрд╛рдИрдВ рдУрд░ рдЖрдЗрдЯрдо рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрд╛рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реЛрдЧрд╛ред


> consume ([1,2,3], 1);
[ 2, 3 ]
> consume ([1,2,3], 2);
[ 3 ]
> consume ([1,2,3], 3);
[ 3 ]
> consume ([1,2,3], 4);
[]

, 1, 2, 3, quantity 2 3 . , quantity 4, , . , 1 3.


JavaScript :



JavaScript-, , , , . 17 , . , , , . JavaScript . , , , .


CтЩп


JavaScript CтЩп. CтЩп :



, . . , , , , .


. int . , long?


:



short? . decimal? . byte? .


, .


FтЩп


FтЩп :



, . , :


quantity: ^a -> (seq< ^b> -> seq< ^b>)
  when ( ^a or  ^b) : (static member ( + ) :  ^a *  ^b ->  ^a) and
        ^a : (static member get_Zero : ->  ^a) and  ^a : comparison

, , , , . , decimal, :


> consume 2 [1;2;3];;
val it : seq<int> = seq [3]

> consume 2m [1m;2m;3m];;
val it : seq<decimal> = seq [3M]

, . consume "foo" [true;false;true] .


FтЩп ( , CтЩп), : . , " ". , , , , - .


Haskell


Haskell:



. . GHCi , :


> :t consume
consume :: (Foldable t, Ord a, Num a) => a -> t a -> [a]

FтЩп , . Foldable ( , . ), , Ord Num. Num , Ord тАФ .


, FтЩп Haskell , . , , CтЩп Java. , .



, C++, Java CтЩп. , , , , .


, .


, FтЩп Haskell. -. : .

Source: https://habr.com/ru/post/hi482834/


All Articles