Bir birim test dosyası var literal`:Haskell: hlint nasıl söyleyeceğini değil: `Uyarı: dize
module X04PatMatTest where
import AssertError
import Test.HUnit
import X04PatMat
...
ve hlint yakınır: Çeşitli nedenlerle
X04PatMatTest.hs:15:69: Warning: Use string literal
Found:
['a', 'b', 'd']
Why not:
"abd"
, gerçekten Test koduna ['a', 'b', 'd']
'u eklemek istiyorum.
Ben Warning
warn
değişen, X04...
yerine adıyla module
ile, modül açıklanmasından sonra, dosyanın ilk satırı olarak pragma koyarak gibi
{-# ANN X04PatMatTest "HLint: ignore Warning: Use string literal" #-}
çeşitli permuatations çalıştılar ...
Sihir nedir?
Bu işe yarar - teşekkürler. HLint belgeleri bu konuda açık değildir. Pragma işlevleri için şunu söyler: '{- # ANN myFunction” HLint: "# -}' ifadesini yoksay. Pragmas modülleri için şunu söyler: '{- # ANN modülü 'HLint: Eta'yı yok say” # -} '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '. – haroldcarr
@haroldcarr Açıkça belirtilmemiş, doğru. Bir şekilde, ilk harfin küçük harf olduğu ve modül adlarının büyük harfle başlayabildiği gerçeğinden kaynaklanabilir. Not; Cevabımı kabul edersen hoş olurdu. – MoFu
Okumak için dokümanı güncelledim: \t {- # ANN modülü "HLint: Eta küçültmeyi yok say" # -} - bu modüldeki tüm eta azaltma önerilerini dikkate almayın ( modülünü kullanın tam anlamıyla, modülün adı değil) . Gitdiler, ancak dokümanlar bağlantısı sizi hala eski tarihli darka götürüyor. Bunu düzeltmek için bir hata yaptım. –