Professional Documents
Culture Documents
F# SHARP
ال F#ا ر
ت ال dotnetو
ت ال Visual Studio 2010
ﺍﻹﺼﺩﺍﺭ ﺍﻻﻭل
(١ )ﻤﻘﺩﻤﺔ ﺭﻗﻡ
.
/0
ا/0 ا1 ا.23
#F 96A6B اB0 اC = ارات ا;و6; ا783 90
:;و?> >= ا;و< ا0@
آ05 رت6ا
ا;ن9?دL? اB0
ت ا2/ اM3
2/
اNC8BO =F واC اPCO => QA6
ت اDEF ه= ا02H< ?< ا;نJ6>
=@ ،96/ =CJ B03 M آW
A MXO 96A6L ءD3 => 0
@HF ا#F ال.
TO
J ?لU2 وه? اdon syme ْا63
.HCF] اB0 ات
ت ا0X8
اJ =DO انZ
[F2O 96/ك واD@?ن هO
#Fات الW
الDynamic الH تd: ا6e وe? اcH< => Dynamic 90
F " اوStatic" F3_ @?نO أن#F M
@A
Python.
< دوتP 2 3 ?الB H رب او ا5 =2 اMQ (dotnet framework) < وت6 اU 3 ام6]Fا
.1ذن ا3 دE م اA; >= اM
THF 3 DJ F@D وF#
الJ [
23 9d< < آ9dه
٤ ﺻﻔﺤﺔ ﺭﻗﻢ
( Boutemine Oualid ﻤﺜﺎل ﻤﻨﻘﻭل ﻤﻥ ﺍﻝﻤﺸﺭﻑ٢ )ﻤﻘﺩﻤﺔ ﺭﻗﻡ
Oآ03 و8O 1 ا/ و ر.@
CJ مx2 ا
;
وlAW
H
و اA0C
أHT3 : = و هObjective Camel
الTC]F ا6e و8F 6L = و ه.C8F
[ ا23 9d هB0 ا
)
TD ا.@ م6e أP d وO Caml الC8O <?ة )أ: اN3 wT<أ
8O 1ء ا5 د انE م اA >= اC ا9d
هJ روس6 ا783 Z
ا
ت783 :رس اول6 اDو ه
.ف0/ ا2/ F# ال1-
.L?F
اDl@ اc
وHl? اB0 اCJ = أM@X3 6F8O
Hl و2-
;;W0 3 =NFDO
B0 ا0[ اZ
L3-
.
@
DA دB03 4-
:
ا6J?اE ا7835-
;
أوlا6F3;
اE اk
< أنD
@A ه683 و0
F ا. ا._ let بlأ دا6< 0
F kA08F -
= F اM@X اCJ F@O (رب5 =2 ( >= اswitch < =
H >= اselect case ال-
:ر
mutch [variable] with
case1 -> action1
| case2 -> action2
| n-> actionx;;
select case{>?اO mutch
/
.<رE
اCJ M8< يd ا0
F [اvariable]
)N3 رنE< =F
اE ا او )اcase1:
رب5 =2 >= ا: الMQ->:
ط0X ء اH
F ا/ => N3 ?مE< =F
اC8 اactionx
.ءXO آelseif أوor MQ|
.رب5 =2 >= اdefault
= < أوH >= اcase else MQ ى0:>= ا ;ت اn
end;;
وال6 اkA08O
:ر
let functionName x y z =
begin
...
end;;
AدJ ات0F
ا03 = هx y z
/
٥ ﺻﻔﺤﺔ ﺭﻗﻢ
ﻤﻘﺩﻤﺔ ﻤﻨﻘﻭﻝﺔ ﻤﻥ ﻤﻭﻗﻊ ﻤﺎﻴﻜﺭﻭﺴﻭﻓﺕ ﻭ ﻤﻭﺍﻗﻊ ﺍﺠﻨﺒﻴﺔ ﺍﺨﺭﻯ
(( ﻤﻥ ﻤﻭﺍﻗﻊ ﻤﺘﻌﺩﺩﺓ)ﺒﺩﻭﻥ ﺘﺭﺠﻤﺔF# ﺘﻌﺭﻴﻑ ﻝﻠﻐﺔ )ﺍﻑ ﺸﺎﺭﺏ
FORUM
The Origin of F#
At the heart of F# lies Objective Caml, or OCaml, and the .NET language C#.
C#, as you probably already know, is based upon C/C++ and Java.
OCaml is the latest incarnation of the Caml language.
Caml is a dialect of ML.
F# is, in essence, another dialect, or "manifestation" as Microsoft calls it, of a
functional ML-like language mixed with the power of C#.
What is ML?
ML is a functional language (similar to Scheme, as we discussed above) created
about 20 years ago, primarily for research. ML is short for "meta-language", and as
the name implies ML is primarily used to manipulate other languages. So a
compiler, for example, is a great application to write using ML.
But just because you can write code in a new language doesn't
mean you should. So why use F#? Because being a functional
language, F# makes writing some classes of programs much easier
than its imperative cousins like C#. Parallel Programming and
Language-Oriented Programming are two such domains that can
be expressed easily in F#.
٦ ﺻﻔﺤﺔ ﺭﻗﻢ
ﻤﺘﻁﻠﺒﺎﺕ ﺍﻝﺘﺤﻤﻴل ﻭ ﺍﻝﺘﺸﻐﻴل
Brief Description
F# is a type-safe, scalable language for the .NET platform that supports both functional and
object-oriented programming. This CTP release includes the F# compiler and tools, as well as
Visual Studio 2008 integration for F# development. Microsoft F#, Community Technology
Preview
Quick Details
Version: 1.9.6.2
Date Published: 9/5/2008
Language: English
Download Size: 13.4 MB - 13.9 MB*
*Download size depends on selected download components.
System Requirements
Optional software: Visual Studio 2008 or the Visual Studio 2008 Shell.
٧ ﺻﻔﺤﺔ ﺭﻗﻢ
ﺘﻨﺼﻴﺏ ﻝﻐﺔ ) (F#ﻋﻠﻰ )(VISUAL STUDIO 2008
-١ﻗﻡ ﺒﺘﺤﻤﻴل ﺍﺨﺭ ﺍﺼﺩﺍﺭ ﻤﻥ f# compilerﻤﻥ ﻤﻭﻗﻊ ﻤﺎﻴﻜﺭﻭﺴﻭﻓﺕ ﻋﻠﻰ ﺍﻝﻭﺼﻠﺔ ﺍﻝﺘﺎﻝﻴﺔ
http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx
-٢ﻝﻠﺒﺩﺀ ﺍﺩﺨل ﻋﻠﻰ ) (visual studio 2008ﺒﻌﺩﻤﺎ ﻗﻤﺕ ﺒﺘﺤﻤﻴل ﺍل) (f# compilerﻋﻠﻰ ﺍﻝﻭﻨﺩﻭﺯ ﺍﻝﺨﻁﻭﺓ ﺍﻻﻭﻝﻰ .
-٣ﺍﺨﺘﺎﺭ ﻤﺸﺭﻭﻉ ﺠﺩﻴﺩ ﺍﺨﺘﺎﺭ
)" ("Other Project Typesﻜﻤﺎ ﻓﻰ ﺍﻝﺼﻭﺭﺓ ﺍﻝﺘﺎﻝﻴﺔ ﺜﻡ ﺍﺨﺘﺎﺭ f# projects
ﻓﻰ ﺤﺎﻝﺔ ﻋﺩﻡ ﻭﺠﻭﺩ " "F# Interactive for Visual Studioﻜﻤﺎ ﻓﻰ ﺍﻝﺸﻜل ﺍﻝﺘﺎﻝﻰ ﻓﻬﺫﺍ ﻤﻌﻨﺎﺓ ﻭﺠﻭﺩ -٧
ﻤﺸﻜﻠﺔ ﻓﻰ ﺍﻝﻤﻠﻑ ﺍﻝﺫﻯ ﻗﻤﺕ ﺒﺘﺤﻤﻴﻠﺔ ﻤﺴﺒﻘﺎ ﻓﻰ ﺍﻝﺨﻁﻭﺓ ﺭﻗﻡ . ١
ﻗﻡ ﺒﺎﺨﺘﻴﺎﺭ " "F# Interactive for Visual Studioﻭ ﺍﺨﺘﺎﺭ ﺍﻝﺨﺎﻨﺘﻴﻥ ﺜﻡ ﺍﻀﻐﻁ ﻤﻭﺍﻓﻕ . -٨
:تGHIJKL
IDENTIFIERS
%$
0 ./ م, ا*وف وار%& '#
(& %& ن#$ ا
ت ه ا
ء ا ا
ات وا!وال و ا
./ ز#& =
<' ر%
ل ا#5 (وز0 1 ان29:0 !ام8 ا%$ف و/ 32 '0 4#5 230 ! ا
ت ان/1
ا> ا%& ز او#&
<' اGى ا# DرE اC @AB0 1 >?
ان ا
</P>ف/<P>CHAR
</P>3, O*P >,<رP>INT
</P>20#5 O*P >,<رP>LONG
</P>'0X '&W 'V ايTT/ >,<رP>FLOAT
</P>'0X '&W 'V [9& TT/ >,<رP>DOUBLE
_V 32 l/& C >,ن اk8 ^j0 single precision %$^_ و0#V ]^#C >, ر% رةE ت#:ا
mTC
_V l<
و،(u?#& أوu) l&Wj _V) _V 64 l/& C >,ن اk8 double precision أ& ال
(ر#$ ,E وا،O*3> ا,
١٢ ﺻﻔﺤﺔ ﺭﻗﻢ
[ آlmW\d nOX obcd PIQ اAbeNfQت اK]bQ اhX ijeQ F# A]Q `_ انaIJ وWXواY اZX [XK\IQ اPU F# الABCام واGHIJKL مMNOJ PQKIQء اSTQ اPU
. vIweq لKx ادG\L We]IwQع اMu GmG{IL KBj|OL مMNd h}Q (....tu ، pq )رWe]IX
Pb [xء ادGbQ -١
!:
.
F ة اd>D اP 0NF
(١) ر
" ;; " ب$% f# اآ ا ا
ن "! اوا ال-١
."it" " IDENTIFIERS
,- ف و ")ف/
ا/+01 22' f# *)م 'ر ال+"
(
) +* (int 9+': ا ) ر+ ف/
ا% + ر+ + و ه٤٢ +*
ل ا4 اد2/
. (it) ف/
'=)< ; ا
.٢ )ع
?)رة رA) )آ ه
() ر
١٣ ﺻﻔﺤﺔ ﺭﻗﻢ
() ر
</P>'0X '&W 'V ايTT/ >,< رP>FLOAT M ا+ ف/ ا+" ٤٢ ا اL M4 ;A
١٤ ﺻﻔﺤﺔ ﺭﻗﻢ
اآ ا ا
DاEnter BCA
F#
2/و ,Aا * ; +ا0س Oدوج " " " +ا /ف +ا)" (string)Q Mاء آن F)Rوف او ارم.
(“int * string”) a+ هM+? + و9+': ر+ W++ ل4 اد%
. (
) +X
او
)( و ا+*
ان ا+ ف/
ا% و
(٦) ر
. +*
اW W+I زوB*; H+
و+ ة2 ( ان ')ىup
)
Wُ
Enter BCA اD
اآ ا ا
:
آ%
= و هh + ٣ ل4 اد% ef
ل اX
; ا
“int * string * float”
(٧) ر
١٦ ﺻﻔﺤﺔ ﺭﻗﻢ
-٢ا6]Fام ا 6وال ) (Functionsآ.
E
;
Cال 2I) f#اى ;ق W+ا
2وال ) (functionsو ا
* (values) +ن ا
2وال 0رة . + W
و Wا!ء ا
*/
+ف Xاى +ا4ى.
it
'* $
eه $ان ")' 2/
"itى +ا
2ا
اول ''xو ا
آ ٤١ + wو ا + w'0:ان ٤٢
و Gا
| ")ف *)م ; OIء ا W 4ا
Lح
/ف *1ا4ى
'= + Eا
2وال دون .++C%
)'%ى +C F# Cات Wا"$د ا * +ا G +ا | "2hf$م ا /ف ا"" ” “letا Gى $" 9fد +ا ُ/ف.
! $ +Fء ا
/ف اول +ر +و ا
/ف ا
. +? +
و L $$ه2ة ا
* +ا
%ا"$ده ا
e1 W +ا ا
:
b
c
Wا -ادة ا"$د او )%ز ,ا
* +ا
ا
/ف ا"" a
Xل :
t b c
b
c
;
Fا"2hام اآ ; + W Xال ,+!f W
tupleا"2hام ا
2ا
f
and
d W+
و ' 2$و
ا"2hا 2/زدة 2د ا
*2'+" W++ W +ث
!4و %ر"
!4 y
t
(١٩) ر
:
!
اh
ا+" fst and snd W+
ا2
ام ا2h" '
ا2$ D
(٢٠) ر
٢٤ ﺻﻔﺤﺔ ﺭﻗﻢ
;)$ن 2$f + $?Fة
OIء ; ال tuple
آ ; ا
Lا
.
; هGا ا
Xل " /$آ +ان ا
2وال 0رة W + Wا"$ده ا
ُ/ف .
")*$م $0ء دا
و ")*$م "$د +ا
ُ/ف ). (dd
Nub
t ddTnTNumbr fun x - x
ا 2$ fFا ان )ن هGا ا
ب اول آب ;
F# C
*; I%ا? W M%در hو
* ا
?در اآ= w+ان )ن Rد *2
2 Wان /ف /+01هGة ا
Cا
")+ن
ن ; +ا
.0*f