Pertanyaan yang diberi tag lambda

102
C ++ 0x lambda capture berdasarkan nilai selalu const?

Apakah ada cara untuk menangkap berdasarkan nilai, dan membuat nilai yang ditangkap menjadi non-konstan? Saya memiliki functor perpustakaan yang saya ingin menangkap & memanggil metode yang non-const tetapi harus. Berikut ini tidak dapat dikompilasi tetapi membuat foo :: operator () const...

101
Mengapa kita membutuhkan serat

Untuk Fibers kami punya contoh klasik: menghasilkan angka Fibonacci fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end Mengapa kita membutuhkan Serat di sini? Saya dapat menulis ulang ini hanya dengan Proc yang sama (sebenarnya penutupan) def clsr x, y = 0, 1...

101
Bagaimana menyetel nilai default bidang model Django ke pemanggilan fungsi / dapat dipanggil (mis., Tanggal relatif terhadap waktu pembuatan objek model)

DIEDIT: Bagaimana saya dapat menyetel standar bidang Django ke fungsi yang dievaluasi setiap kali objek model baru dibuat? Saya ingin melakukan sesuatu seperti berikut, kecuali bahwa dalam kode ini, kode akan dievaluasi satu kali dan menetapkan default ke tanggal yang sama untuk setiap objek...

99
Bagaimana std :: function diimplementasikan?

Menurut sumber yang saya temukan, ekspresi lambda pada dasarnya diimplementasikan oleh kompilator yang membuat kelas dengan operator panggilan fungsi yang kelebihan beban dan variabel yang direferensikan sebagai anggota. Hal ini menunjukkan bahwa ukuran ekspresi lambda bervariasi, dan diberikan...

99
Penggunaan yang tepat dari Opsional.ifPresent ()

Saya mencoba memahami ifPresent()metode OptionalAPI di Java 8. Saya memiliki logika sederhana: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Tetapi ini menghasilkan kesalahan kompilasi: ifPresent(java.util.functionError:(186, 74) java: 'void' type not...

99
Beberapa pemeriksaan nol di Java 8

Saya memiliki kode di bawah ini yang agak jelek untuk beberapa pemeriksaan nol. String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if (str3 != null) { s = str3; } else { s = str4; } Jadi saya mencoba menggunakan Optional.ofNullableseperti di bawah ini,...

97
Implementasi C ++ 11 lambda dan model memori

Saya ingin beberapa informasi tentang bagaimana berpikir dengan benar tentang penutupan C ++ 11 dan std::functiondalam hal bagaimana mereka diimplementasikan dan bagaimana memori ditangani. Meskipun saya tidak percaya pada pengoptimalan prematur, saya memiliki kebiasaan untuk mempertimbangkan...

94
_ (garis bawah) adalah kata kunci yang dipesan

Saya baru saja mengganti sekspresi lambda berikut dengan _: s -> Integer.parseInt(s) Kompiler Eclipse mengatakan: '_' tidak boleh digunakan sebagai pengenal, karena ini adalah kata kunci yang dipesan dari sumber level 1.8 di. Saya belum menemukan penjelasan apa pun di JLS §3.9...