#F سه تا حسن عمده داره
1- سادگی سینتکس و به طبع اون کد نویسی (Simplicity)
2- اقتصادی بودن (Economics)
3- محاسبات موازی (Parallel)
به عنوان مثال فرض کنید
میخوایم یه پابلیک پراپرتی به نام a داشته باشیم که شامل عدد مشخصیه ، بعدشم چاپش کنیم
//C#
using System;
namespace ConsoleApplication1
{
class Program
{
static int a()
{
return 2;
}
static void Main(string[] args)
{
Console.WriteLine(a());
}
}
}
//F#
open System
let a = 2
Console.WriteLine a
دیگه خبری از نیم اسپیسو ، کلاسو ، تایپ متغیرو یه مشت آکولادو اینا نیست
راستی این let هم یکی پرکاربردترین دستوورات #F
مثلاً دوم
//C#
abstract class Command
{
public virtual void Execute();
}
abstract class MarsRoverCommand : Command
{
protected MarsRover Rover { get; private set; }
public MarsRoverCommand(MarsRover rover)
{
this.Rover = rover;
}
}
class BreakCommand : MarsRoverCommand
{
public BreakCommand(MarsRover rover)
: base(rover)
{
}
public override void Execute()
{
Rover.Rotate(-5.0);
}
}
class TurnLeftCommand : MarsRoverCommand
{
public TurnLeftCommand(MarsRover rover)
: base(rover)
{
}
public override void Execute()
{
Rover.Rotate(-5.0);
}
}
//F#
type Command = Command of (Rover -> unit)
let BreakCommand = Command(fun rover -> rover.Accelerate(-1.0))
let TurnLeftCommand = Command(fun rover -> rover.Rotate(-5.0<degs>))
مختصر مفید
راستی کدایه #Fاو تو چی بزاریم که خوشگل نشوون بده ؟