Mükemmel Clojure eğitimine here bir göz atıyorum. Aşağıdaki satırlar boyunca Clojure kodu vardır örneklerden birinde:neden "(def vowel? (Set" aeiou "))" çalışıyor?
(def vowel? (set "aeiou"))
Bu sesli harf ünsüzler için ünlüler için doğru ve return false yapar: Neden bu
(vowel? (first "abc")) ; => true
(vowel? (first "cba")) ; => false
mı? Değişken ismin arkasındaki soru işareti ile bir ilgisi olduğunu varsayıyorum. ... hemen öğretici bir şey bulunamadı
Düzenleme Sadece vowel?
doğru veya yanlış dönmez fark ziyade eleman kendisi veya sıfır. Kendi cevabımı gör.
Bana doğru geliyor. Soru işareti, bir test olarak kullanılabileceğini gösterir. Genellikle yan etkileri olan işlevler hakkında bir ünlem işareti görürsünüz. Onlar dilin bir parçası değiller, lisp gelenekleri (bu yüzden "tehlikeli" olanlardan güvenli fonksiyonları biliyorsunuz). – MBCook
Netleştirmek için? ve ! a ve b gibi karakterlerdir ve bunları sembollerin isimlendirilmesinde kullanabilirsiniz (olduğu gibi \, /, *, -, + ...). Lisp'de belli sembollerin isimlendirilmesi için gelenekler vardır, ancak lehçeler arasında küçük farklılıklar vardır. – Svante
ah, teşekkürler @svante! "?" hakkında büyülü bir şey olduğunu düşündüm. :) – Epaga