2014-04-07 33 views
5

bazı Haskell öğrenmek için çalışıyorum ve bu çalıştı: Neden farklı tek ve çift tırnak görmek ve bu önemli olduğunuhaskell - tek v çift tırnak

ghci> :t 'a' 
'a' :: Char 
ghci> :t "a" 
"a" :: [Char] 

?

cevap

13

Bu, C/C++/C#/Java ve diğer programlama dilleri gibidir. Tek tırnak, tek karakter anlamına gelir, çift tırnak, karakter dizisi (dizgi) anlamına gelir.

Haskell'de 'c' tek bir karakter (Char), ve "c" karakterlerin listesini ([Char]) 'dir.

Sen tamsayılar tamsayılar ve listelere bu karşılaştırabilirsiniz:

ghci> let a = 1 
ghci> let b = [1,2,3] 
ghci> :t a 
a :: Integer 
ghci> :t b 
b :: [Integer] 

tek element ve elementlerin bir liste arasında bir ayrım olmalı, çünkü önemli. Basit elemanlar üzerinde farklı işlemler ve listelerde farklı işlemler yapabilirsiniz.

+2

Belki de dikkat edilmesi gereken önemli bir nokta şudur:: Bilgi dizgesi, "String = [Char]" tipini yazdırır, böylece 'String' türünün nasıl tanımlandığını açıkça görebilirsiniz. – bheklilr

0

Farklı şekilde yorumlandıkları için bunlar sadece (bu, dilin nasıl tanımlandığı). Bu önemlidir, çünkü Char ve [Char] aynı şey değildir. Bunun dışında, burada ne sormaya çalıştığınızdan emin değilim.

İlgili konular