integer "FF" 16)Ama bunu yapmanın daha iyi bir yolu olmalı." /> integer "FF" 16)Ama bunu yapmanın daha iyi bir yolu olmalı." />
SORU
8 Temmuz 2010, PERŞEMBE


Nasıl Clojure içinde işlev bağımsız değişken için varsayılan değer yaratmak

Bu ile geldim.

(defn string->integer [str & [base]]
  (Integer/parseInt str (if (nil? base) 10 base)))

(string->integer "10")
(string->integer "FF" 16)

Ama bunu yapmanın daha iyi bir yolu olmalı.

CEVAP
28 Aralık 2011, ÇARŞAMBA


Ayrıca Clojure 1.2 beri bir harita [ref] rest bağımsız destructure. Bu adı verir ve işlev bağımsız değişkenleri için varsayılan sağlar:

(defn string->integer [s & {:keys [base] :or {base 10}}]
    (Integer/parseInt s base))

Şimdi diyebilirsiniz

(string->integer "11")
=> 11

ya

(string->integer "11" :base 8)
=> 9

Eylem bu burada görebilirsiniz: https://github.com/Raynes/clavatar/blob/master/src/clavatar/core.clj (örneğin)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • Random Act of Kindness Video Contest

    Random Act o

    18 EYLÜL 2012
  • National Geographic

    National Geo

    7 Mayıs 2006