en bu soruya uğruna bir değer yaratalım altını Bu fonksiyonun bir kısa harfini yazmak mümkün mü?:Scala minimal fonksiyon
a.map((x) => x)
Çözümüm çalışmıyor:
a.map(_)
en bu soruya uğruna bir değer yaratalım altını Bu fonksiyonun bir kısa harfini yazmak mümkün mü?:Scala minimal fonksiyon
a.map((x) => x)
Çözümüm çalışmıyor:
a.map(_)
İlk steno formunda da değişmeli olarak çarpma noktası içermeyen
a map (2*)
Teşekkür yazılabilir.
(x) => x
'a gelince, identity
işlevini istiyorsunuz. Bu Predef'te tanımlanmıştır ve geneldir, bu yüzden tür güvenli olduğundan emin olabilirsiniz.
Bence değişmeli demek istiyorsun. – Debilski
Bu üzücü, 'x'> x', 'kimlik' sekiz iken dört karakterdir. Bu yüzden asla 'kimlik' kullanmam. –
@debilski Bu şey bildiğiniz kadar kolay değil! Klavyeye erişim için 18 aylık bir kavga olduğunda değil! –
Bu kullanım durumu için identity
işlevini kullanmalısınız.
a.map(identity)
identity
olarak scala.Predef tanımlanır:
implicit def identity[A](x: A): A = x
Kayıt için a.map(_)
, x => a.map(x)
anlamına gelir ve a.map(x => x)
değil. Bu, bir _
parametresinin yerine bir kısmen uygulanmış işlev anlamına gelir. 2*_
durumunda, bu anonim işlevi anlamına gelir. Bu iki kullanım o kadar yakın ki, onlar tarafından karıştırılmak için çok yaygındır.
Çok anlamlı değil, değil mi? Bu sadece bir NOP. – delnan
bu sadece bir örnektir. bağlamda bir anlam ifade edebilir – coubeatczech
Bu, Scala'daki '_' şekerin aşırı kullanımının (imho) insanların dili almasını gerçekten zorlaştırdığı durumlara iyi bir örnektir. – akauppi