Tuesday, May 31, 2011

Blog Post: ?????????????? ????. ????? 3. ??????????? ????????

??????? ?????????? ?????????????? ????? ????? ??????? ??????? ?? ?? ???????? ???????????? ????? ???????? ? ???. ? ??????? ??????? ?? ????????? ??? ????, ??? ?????????????? ???? ???????? "?????????", ? ?? ?? ?????? ???????? ????? ???????????, ?? ??????? ???? ?????????? ??????????????? ????, ??? ????????? ??? ?? ????? ?????????? ???????? ?????? ?????????? ? ???, ????? ???????????? ???????? ??? ?????????????? ???. ??? ????????? ??? ?????????? ?? ?????? ??????????? ? ???? ??????????? ???????, ? ? ????? ?????? ??? ??? ????? ?????????????, ?????? ?????????????? ??? ?? ????? ??????????. ?? ? ?????????? ????????? ??????? ????????.

??????? ??? ?????? ? ?????????, ??????? ????? ????????? ?????? ????????? ???????? ? ????????? ?? ???? ????, ????? ? ???????? ???????? ????? ????? ??????? ???????????? ?????? ???????? - ??????? ?? ??????? ???????? ? ????????, ? ?????? - ???????? ???????? ?????????. ????????, ??? ?????????????? ???? ? ????? ?????? ???????? ?? ??????? ???????.

?? ????? ???? ???????? ????????????? ?????????? ?????????????? ????? ?? ???? ????? ?????? ???? ??? ????? ???. ?? ???? ????????? ???????? - expression problem. ?? ??? ? ???????? ???? ???? ????????, ?? ?????? ???? ? ?????-?????? ??????? - ???? ?? ????? ???? ??????, ??? "?????? ???" ?? ??????? ??? ??? ?????? ? ?? ?????????? ? ??????? ????????????? ????.

?????? ??? ?????? ????????.

???? ????? ???? ???????????????? OCaml, ??????? (???????, ?? ????? ?? ? ???????) ??????????? F#. (????? ?? ??????? - F# ????????????? ?????????? ? ??????????? ????? ?????? OCaml ??? ????????? .NET, ?? ???????????? ?? ???? ??????? ?????????). OCaml, ??? ? ???????? ??????????????? ????? ?? ????????? ML, ???????????? "????????????" ?????????????? ????. ?? ? ?????-?? ?????? ? OCaml ???????? ? ?????? ??? ?????? - ? ??????????? ????????? ??????????? ???????.

??? ?? ??? ?????? ??????? ????????? ?? ???????. ????????? ?????????? ??? ?? ?????????? ??????? ?? OCaml ? ?????????????? ???? ????? ??????????? ?????????:

let l = `Laptop 14.2;;    let res = match l with            | `Laptop _    -> "We have a laptop"            | `Cellphone _ -> "We have a cellphone";;

?? ?????? ?????? ??? ????? ?????? ?? F#, ???? ?? ??????? ?????????????? "?????? ??????????". ?? ????????, ? ?? ????? ?????? ?? ??????? ??? ?? ?????????? ?????? ??????????????? ????? (?? ???, ??? ???, ???????????? ?????????). ? ? ???-?? ? ????, ??? ???????? ?????????? ???.

??????? ?? ?????? "????? ??????? ??????? ?????????????? ???? ????????????", OCaml ???????? ? ????????-???? ???????????? ???????. ? ??????? ??????????, ??? ?? ???? ????? ????????? - ?? ??? ??? "?????????", ?? ???? ????! - ???? ???? ????-???????????? ?????????????? ???. ???? ??? ???????? ??? ????????? ???????????? - ???? ??, ??????? ??? ?????? ????????? ?????????. ?? ???? ??????? ??? ??????? ????????????? ??????? ????????????? ?????????????? ??? - ? ???????????? ?????????? ?? ??? ?? ??????????? ?? ????.

??????????? ? ?????? ??????? - ??? ?????? ????? ???????, ???? ?? ??????? ???????? ? ????? ??????????? ??????? ????? ????? ??? ? ????????? ?? ??????????? ??????. ?????? ????????, ??? ???????? ? ??? ??? ????:

let res = match l with            | `Laptop _    -> "We have a laptop"            | `Cellphone _ -> "We have a cellphone"            | `Monitor _   -> "We have a monitor";;

?????? ? ??????????????? ???? ???? ???? ????????? ????????. ? ?????? ? ????????? ??????????????? ?????? ??? ?????? ????? ????????, ????? ???????????? ???????? ? ???? ??? ??? ???? ?????????????? ???. ??????????????, ?????????? ?????? ???? ?? ??????? ???????? (?????????? ?? F#) ???? ????????? ????????? ? ????????? - ???? ??? ?? ????????, ??? ???????? ?? ??????? ??????, ????? ????????? ? ????????? ?????????, ????? ????, ??? ?????????? ??????????? ??? ???!

????? ?? ???????? ? ????? ??????????. ??????????? ??? ???????????? ?? ???????? ?? ?????, ? ??????????????, ???, ??????????? ????, ??? ?? ??? ????????? ??? ??????. ??? ????? ???? ???-?????? ??????? ??? ? ????????? `Tablet? ????? ?????? ??????? ??????????. ????? ???????? ????? ??? ???????? ?????????? ???? ??? ???:

let res = match l with            | `Laptop _    -> "We have a laptop"            | `Cellphone _ -> "We have a cellphone"            | `Monitor _   -> "We have a monitor"            | _ -> "We have an unknown product";;

?????, ??? ????? ????????? ?????? ???? ???????, ???? ???? ?? ?? ??????? ? ML-???????? ???????????. ?????????? ?? ?????? ???????? ??????????? ???????, ??????? ????? ??????????? ?? ???? ???????, ????? ?????? ????????, ???????? ??? ???????? ??? ???????? ???-???? ??????. ???????? ? ???, ??? ?????? ??? ???????? ?????? ??? ?????? - ?? ??? ???????? ????????? ? ???, ??? ???????????? ????????? ? ?????????? ????? ???????? ? ??????????? ??????? ?? ????? ??????????.

?????? ???????? ???? ??????????? ?? ???? ?????, ??? ???????? ?? ??????? ???????????????? ??????????. ? ??? ?????????? ?????????????, ?? ?????????? ????? ?? ?????? ??? ???????????, "???????" ?? ?? ????? ??????????? ??????? ??? ?? ??????????? ? ??? "????????????" ?????. ? ??? ???????? ? ????? ??? ??????? (?????? ?? ???????????? ??????????-?????????????? ??????):

let l = `Monitor 24.0    let res = match l with            | `Laptop _    -> "We have a laptop"            | `Cellphone _ -> "We have a cellphone"            | `Monitol _   -> "We have a monitor"            | _ -> "We have an unknown product";;

??? ??????, ??? ????????? ??????????? match ? ???????? ???????? ? ????? Monitor, ? ?????????? ????? ?? ?????? ??? ??? ??????. ??? ????? ????????????? ??????? ? ???????? ? ?????????? ????????? ? ???-?????.

????????, ??? ??????????? ???????? ??? ?? ?? ??????? ????????. ???? ???????? ???????????? ?????????????? ????? ??????????? ? ????????????? ??????????, ?? ??????????? ???????? ??? ??? ???????? - ????????? ???????????, ??? ??????????? ???-?? ????????????????? ? ?????????? ??? ?? ?????????????.

???? ????? ??????, ??? ???? ? ???????????? ?????????? - ??? ?? ????? ???? ???? ?? ??????????? ??????????, ? ??????? ???? ????? ???? ???? ???. ???? ???????, ??? ?????? ??????? ?? ?????? ?????????. ? ??? ?? ????? ? ???????????? ??????????? ?????????? ? ??????????, ??? ?????, ??? ?? ?? ??????????, ?? ???????? ? ????? ? ??? ?? ?????, ??? ?????? ??? ???????????? ??????????? ????????? ?? ???. ?????????? ?????? ?????? ??????? ?? ?????????????? ?????, ??????? ? ????????? ?????? ???? ????? ??????????? ????????????, ??? ?????? ? ???, ? "??? ???? ????? ????????" ??? ????? ??????????? ?????????. ??? ???? ????? ????????, ??? OCaml, ????, ? ??????? ???????????? ????????? ??????????? ?????????, - ??? ????? ???????, ???? ????? ??? ??????????, ??????????-?????????????? ????, ? ??????? ???? ???????????? ?????? ?????????????? ????????? ??? ????? ? ???????????? ?????. ????????, ???, ???? ??????????? ???????? ? ?????? ?????????????? ???????? "??????????" ?????????????? ?????, ? ????? ???? ??? OCaml ??? ?? ????? ?????? ???????????.

? ??? ???? ?? ? ??? ??? ???????????-?????????????? ?????

Ela, ? ??????? ? ??? ???????? ?????, ??? ?? ???????????? ????????? ????????? ? ??? ???? ???????? ???????????-?????????????? ??????. ??????????????? ??? ???????? ?? ?? Ela ????????? ???????:

let l = Monitor 24.0    let res = match l with                  Laptop = "We have a laptop"                  Cellphone = "We have a cellphone"                  Monitor = "We have a monitor"                  _ = "We have an unknown product"

?????? ??????, ??????? ?? ???? ? ???? ???????. ????????, ? Ela ?? ???????????? ???????? ????? ????????? ???????????? ???????????? ???????? - ? ??? ?????? ??? ?????, ??? ??? ??? ????????????? ???????? ???????????? ?????????????? ????? ?? ????????????? ??????????? ?????????. ???????????? ?????????????? ???? Ela ?? ???????????? - ?? ??? ? ?????????? ? ?????? ???????????? ?????????. ??????? ? Ela ???????????? ?????? ???????, ???????????? ??? ?????????????? ?????? ?????????? - ????? ?????????????, ???????????? ? ????????? ?????, ????????? ?????????.

?????????? ??????? ? Ela - ??? ????? ??????? ?????????. ? ??? ???????? ???? ??????????? ?????????? ???????????? ????? ? ?????? ???????? (??? ???? ??????? ????????? ?????, ??? ?????????? ????????). ?????? ????? ???????????? ????? ???? ???????????????? ? ??????? ???????-????????. ??? ??? Ela ???????????-?????????????? ????, ? ? ??? ? ??? ? ?????-?? ?????? ???? ???? ????-???????????? ???, ????????? ??????????? ????????? ?? ???????? ? ???? "??????" ????????.

?????????? ?????? ????????????? ????????? ??? ?? ????????? ???:

let getOdd x | r > 0 = Odd r               | else  = Even               where r = x % 2

?????? ??????? ?????????, ???????? ?? ?????????? ? ??? ????? ?????? ? ?????????? ?????????, ????????? ???????. ????? ???????? ????????? ????????? ????????? ? nullable-?????? ? C#. ? ????????????? - nullable-??? ??? ?????? ????? "??????????????????" ?????? "???????????????" ????????.

INTERNATIONAL GAME TECHNOLOGY INTERNATIONAL BUSINESS MACHINES (IBM) INTERDIGITAL COMMUNICATIONS INTEL INSIGHT ENTERPRISES

No comments:

Post a Comment