IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi

IRCRehberi.Net- Türkiyenin En iyi IRC ve Genel Forum Sitesi (https://www.ircrehberi.net/)
-   Programlama (https://www.ircrehberi.net/programlama/)
-   -   F Sharp (https://www.ircrehberi.net/programlama/78652-f-sharp.html)

ExCaLuBuR 21 Temmuz 2021 17:02

F Sharp
 
Bu maddenin doğru adı F# biçimindedir fakat # karakteri teknik nedenlerden dolayı kaldırılmıştır.

F# Microsoft Research tarafından geliştirilen ve .NET Framework üzerinde çalışan fonksiyonel programlama dilidir.

Başlıca özellikleri
  • Type(Tip) Güvenli
  • Thread Güvenli
  • Nesne yönelimli programlama dillerine göre daha az kod ile aynı işi yapabilme
  • Matematiksel ve Statiksel yazılımlar için daha uygun olması

Syntax

F# da göze çarpan ilk önemli komut "let" dir. Bu komut ile bir değişkene değeri kaydederiz.

Örnek: let ircrehberi = 10 <- 19

************************************************** ****************

F #, doğru ve sürdürülebilir kod yazmayı kolaylaştıran işlevsel bir programlama dilidir.

F # programlama öncelikle tür tarafından çıkarılan ve genelleştirilmiş, otomatik olarak oluşturulan türleri ve işlevleri tanımlamayı içerir. Bu, odağın sorun etki alanında kalmasına ve programlama ayrıntıları yerine verilerinin işlenmesine olanak tanır.

PHP- Kodu:

open System // Gets access to functionality in System namespace.

// Defines a function that takes a name and produces a greeting.
let getGreeting name = $"Hello, {name}! Isn't F# great?"

[<EntryPoint>]
let main args =
    
// Defines a list of names
    
let names = [ "Don""Julia""Xi" ]

    
// Prints a greeting for each name!
    
names
    
|> List.map getGreeting
    
|> List.iter (fun greeting -> printfn $"{greeting}")

    


F #, aşağıdakiler dahil olmak üzere çeşitli özelliklere sahiptir:


  • Hafif sözdizimi
  • Varsayılan olarak sabit
  • Tür çıkarımı ve otomatik Genelleştirme
  • Birinci sınıf işlevler
  • Güçlü veri türleri
  • Desen eşleştirme
  • Zaman uyumsuz programlama


Zengin veri türleri

Kayıtlar ve ayırt edici birleşimler gibi veri türleri, karmaşık verileri ve etki alanlarını temsil etmenize olanak tanır.

PHP- Kodu:

// Group data with Records
type SuccessfulWithdrawal =
    { 
Amountdecimal
      Balance
decimal }

type FailedWithdrawal =
    { 
Amountdecimal
      Balance
decimal
      IsOverdraft
bool }

// Use discriminated unions to represent data of 1 or more forms
type WithdrawalResult =
    | 
Success of SuccessfulWithdrawal
    
InsufficientFunds of FailedWithdrawal
    
CardExpired of System.DateTime
    
UndisclosedFailure 


F # kayıtları ve ayrılmış birleşimler, varsayılan olarak boş, değişmez ve karşılaştırılabilir değildir. Bu, kullanımı çok kolay hale getirir.

İşlevler ve model eşleştirme ile uygulanan doğruluk


F # işlevlerinin kolayca bildirilmesini ve güçlü bir yöntem olduğunu. Desenler eşleştirilirken, doğruluk derleyici tarafından zorlanan davranışı tanımlamanızı sağlar.

PHP- Kodu:

// Returns a WithdrawalResult
let withdrawMoney amount // Implementation elided

let handleWithdrawal amount =
    
let w withdrawMoney amount

    
// The F# compiler enforces accounting for each case!
    
match w with
    
Success s -> printfn "Successfully withdrew %f{s.Amount}"
    
InsufficientFunds f -> printfn "Failed: balance is %f{f.Balance}"
    
CardExpired d -> printfn "Failed: card expired on {d}"
    
UndisclosedFailure -> printfn "Failed: unknown :(" 


F # işlevleri de birinci sınıftır, yani parametre olarak geçirilebilir ve diğer işlevlerden geri döndürülebilecek anlamına gelir.

Nesneler üzerinde işlem tanımlamak için işlevler

F #, veri ve işlevsellik Blend gerektiğinde yararlı veri türleri olan nesneler için tam desteğe sahiptir. F # işlevleri nesneleri işlemek için kullanılır.


PHP- Kodu:

type Set<'T when 'Tcomparison>(elementsseq<'T>) =
    member s.IsEmpty = // Implementation elided
    member s.Contains (value) =// Implementation elided
    member s.Add (value) = // Implementation elided
    // ...
    // Further Implementation elided
    // ...
    interface IEnumerable<‘T>
    interface IReadOnlyCollection<‘T>

module Set =
    let isEmpty (set: Set<'
T>) = set.IsEmpty

    let contains element 
(setSet<'T>) = set.Contains(element)

    let add value (set: Set<'
T>) = set.Add(value


Nesne odaklı kod yazmak yerine, F # ' da genellikle nesneleri işlemek için işlevlere başka bir veri türü olarak niteleyen kodu yazarsınız. Genel arabirimler, nesne ifadelerive üyenin akıllıca kullanımı gibi özellikler daha büyük F # programlarında ortaktır.


Kaynak : [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

WildCat 21 Temmuz 2021 17:21

emeginize saglik

Artist 21 Temmuz 2021 17:22

Emegine saglik

Lareina 21 Temmuz 2021 18:24

Paylaşım için teşekkür ederiz.

She 21 Temmuz 2021 20:05

Bilğili paylaşım için teşekkür ederiz

Sim 26 Temmuz 2021 21:58

emegine saglik


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 08:49.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

Copyright ©2019 - 2023 | IRCRehberi