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

  • Abbeydabby0277's channel

    Abbeydabby02

    9 ŞUBAT 2012
  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • Photoshop Tutorials

    Photoshop Tu

    22 HAZİRAN 2011