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

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • steven johns

    steven johns

    11 Mart 2011