Sadece Haskell'e başladım ve tek bir koşula bağlı olarak birden çok değişken atamanın en iyi yolunu bulmaya çalışıyorum. Şimdiye kadar sadece Tuples'ı paketleyip paketliyorum. Daha iyi/daha deyimsel bir yolu var mı?Haskell'de birden fazla değişken atama
(var1, var2, var3) =
if foo > 0
then ("Foo", "Bar", 3)
else ("Bar", "Baz", 1)
Ayrıca Tuple'ların paketlenmesi ve paketlerinin açılması maliyetini de merak ediyoruz. this'u doğru okuyorsam, bu işlevler arasında en iyi duruma getirilmiş gibi görünüyor, ancak bir ödevle durumun bu olduğundan emin değil.
Listeler de kullanabilirsiniz, sadece bildiğiniz gibi. Kalıbın daha büyük parçalarla eşleştirilebilmesi için '' (a: b: c: dinlenme) = [1,2,3,4,5,6] '' a = 1', 'b = 2'', = 3 've 'dinlenme = [4,5,6]'. Dahası, bu sadece temel ifadede değil, '' '' '' 'ifadelerinde gereklidir. – AJFarmar
Haskell'de _mutable_ değişkenlerine sahip olmadığımız için, bu "bağlamalar" veya "tanımlar" yerine "tanımlamalar" diyoruz. Kodunuz iyi görünüyor ve profil oluşturulmadığı sürece maliyet hakkında endişelenmem. Ayrıca, bu tuple ilgili endişeleriniz varsa, "Bar" ın aslında çalışma zamanında nasıl temsil edildiğini bilmek istemezsiniz ... ;-) – chi