Swift 5.8 programlama dili, bir sonraki büyük sürümün yolunu açıyor

xTasarim

Global Mod
Global Mod


  1. Swift 5.8 programlama dili, bir sonraki büyük sürümün yolunu açıyor

Apple’ın açık kaynak kodlu programlama dili Swift’in 5.8 sürümü yayınlandı. Sürüm, bir sonraki ana sürümün yolunu açıyor: yeni bir derleyici bayrağı, dosya adlarının daha özlü bir temsili ve zorunlu kullanımı da dahil olmak üzere, halen devam etmekte olan özelliklerin kullanımına izin veriyor. any. Swift-DocC ile birlikte dokümantasyon ekleri de vardır.


Askıda olması


Swift 6 üzerindeki çalışmalar, 5.x şubesinin daha da geliştirilmesine paralel olarak bir süredir devam ediyor. Bir sonraki büyük sürümün, genişletilmiş eşzamanlılık özellikleri ve bir sahiplik modeli dahil olmak üzere bazı önemli yenilikleri içermesi bekleniyor. Bir çıkış tarihi henüz bilinmiyor. 5.9 sürümü ile yol haritası, mevcut dalda en az bir sürüm daha öngörüyor.

Swift 5.8, yeni derleyici bayrağı aracılığıyla projelerinizde gelecekteki işlevleri kullanmayı kolaylaştırır -enable-upcoming-feature. Dört Swift Evolution Proposals (SE) şu anda önizleme olarak entegre edilmiştir: Concise Magic File Names (SE-0274), Forward-Scan Matching for Trailing Closures (SE-0286), Introduce Existential Any (SE-0335) ve Regex Literals (SE – 0354).


Daha okunabilir dosya adları ve düzenli ifadeler


Örneğin, Swift 5.8’de -enable-upcoming-feature ConciseMagicFile sonra yeni dosya adı çözünürlüğünü serbestçe #file artık bir kaynak dosyanın tam yolunu yansıtmaz, ancak onu modüladı/dosyaadı biçimine çözümler. Yeni tanıtılan terim #filePath daha önce olduğu gibi tam yolu verir. gibi API çağrıları için fatalErrorONLAR #file yeni kural otomatik olarak uygulanır. Aşağıdaki teklif örneği, tam yol ile yeni çıktı arasındaki farkı göstermektedir:


print(#file)
print(#filePath)
fatalError("Something bad happened!")

// erzeugt die Ausgabe
MagicFile/0274-magic-file.swift
/Users/becca/Desktop/0274-magic-file.swift
Fatal error: Something bad happened!:
file MagicFile/0274-magic-file.swift, line 3


Swift 5.7 normal ifadeleri tanıtarak normal ifadeleri büyük ölçüde genişletti. özellik etiketi BareSlashRegexLiterals küçük bir ekleme sağlar: Swift 5.x’te değişmez değerler tek eğik çizgiler (/ ... /) uyumsuzluklara yol açabileceği için izin verilmez. Bu nedenle değişmezler şu biçimde olmalıdır (#/ ... /#) Sahip olmak. Özellik bayrağı, yaklaşan Swift 6’da olduğu gibi kısıtlamayı kaldırır.


Herhangi bir ve açık kapaklı


anahtar kelime any varoluşsal veri türleri için, yani belirli bir protokol için herhangi bir tür, başlangıçta bir seçenek olarak Swift 5.6 tarafından zaten tanıtılmıştı. Swift 6 ile açık etiketleme zorunlu hale gelir ve özellik bayrağı ExistentialAny tahmin davranışı Biçimlendirmesiz varoluşsal bir tür bir hata atar:


protocol P {}
protocol Q {}
struct S: P, Q {}

let p1: P = S() // error
let p2: any P = S() // okay

let pq1: P & Q = S() // error
let pq2: any P & Q = S() // okay


Swift 5.3, geriye doğru tarama (sağdan sola) eşleştirmenin yerini alması amaçlanan sondaki kapanışlar için ileri tarama (soldan sağa) parametre listesi eşleştirmesini tanıttı. 5.x dalında, özellik bayrağıyla açıklanabilecek şüpheli durumlarda geriye dönük tarama hala geçerlidir. ForwardTrailingClosures ayrıca Swift 6 için beklendiği gibi değişir.

Yaklaşan özellikler kaynak koduna dahil edilebilir #if hasFeature() onları mevcut araç zincirleri için kullanan, ancak aynı zamanda eski araçlarla derleyen kod tasarlamak için sorgular.

Swift DocC ile Belgeleme


“Swift Programlama Dili” kitabı, Şubat ayından bu yana Swift-DocC dokümantasyon derleyicisi ile uygulanmaktadır. DocC, Documentation Markup’ın kısaltmasıdır ve Markdown’ın uyarlanmış bir çeşididir. Programlama dillerini belgelemek için tasarlanmış ek biçimlendirme sunar.

Mevcut sürümle birlikte Swift-DocC, renkler, yazı tipleri ve simgeler için yeni özelleştirme seçenekleri sunuyor. Ayrıca, bir proje dokümantasyonu içinde bulanık bir arama artık mümkün.







Swift-DocC, proje belgelerinde artık bulanık aramalara izin veriyor.


(Resim: Swift.org)



Kaynak kodu analizi, paket yöneticisi ve Windows ile etkileşim için SwiftSyntax dahil olmak üzere Swift 5.8’deki diğer yenilikler Swift blogunda bulunabilir.


(rm)



Haberin Sonu
 
Üst