SORU
3 Kasım 2012, CUMARTESİ


Anonim işlev steno

Anonim işlevler kısa gösterim kullanarak ilgili anlamadığım bir şey var #(..)

Aşağıdaki çalışır:

REPL>  ((fn [s] s) "Eh")
"Eh"

Ama bu değil:

REPL>  (#(%) "Eh")

Bu gibi çalışır:

REPL> (#(str %) "Eh")
"Eh"

Anlamadığım şey neden olur(#( % ) "") Haçalışmıyor ve aynı anda kullanmaya gerek yokstr((fn [s] s) "") Ha

Anonim işlevler hem onlar, burada, bir parametre alır. Neden steno gösterimini diğer gösterimde olmasa da bir işlevi var?

CEVAP
3 Kasım 2012, CUMARTESİ


#(...)

steno için

(fn [arg1 arg2 ...] (...))

(argN sayısı vücutta var kaç %N bağlı). Yazarken:

#(%)

tercüme:

(fn [arg1] (arg1))

Bunun gibi olan ilk anonim fonksiyon, farklı olduğuna dikkat edin:

(fn [arg1] arg1)

Sürüm değeri döndürür arg1, kestirme bir fonksiyon olarak çağırmak çalışır genişleyen gelen sürüm. Bir dize geçerli bir fonksiyon değildir, çünkü bir hata alıyorum.

Kestirme vücut etrafında parantez kümesi sağladığı için, sadece tek bir işlev çağrısı ya da özel bir form çalıştırmak için kullanılabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dope2111

    dope2111

    29 HAZİRAN 2009
  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • Techmoan

    Techmoan

    31 Mayıs 2009