Pertanyaan yang diberi tag «pure-function»

Fungsi murni adalah fungsi yang selalu mengevaluasi hal yang sama dengan argumen yang sama, dan tidak dapat mengubah atau bergantung pada status eksternal apa pun.

6
Apakah fungsi murni memoized itu sendiri dianggap murni?
Katakanlah fn(x)adalah fungsi murni yang melakukan sesuatu yang mahal, seperti mengembalikan daftar faktor utama x. Dan katakanlah kita membuat versi memoised dari fungsi yang sama yang disebut memoizedFn(x). Selalu mengembalikan hasil yang sama untuk input yang diberikan, tetapi tetap menyimpan cache pribadi dari hasil sebelumnya untuk meningkatkan kinerja. Secara formal, …

7
Apa yang Anda sebut fungsi di mana input yang sama akan selalu mengembalikan output yang sama, tetapi juga memiliki efek samping?
Katakanlah kita memiliki fungsi murni normal seperti function add(a, b) { return a + b } Dan kemudian kita mengubahnya sedemikian rupa sehingga memiliki efek samping function add(a, b) { writeToDatabase(Math.random()) return a + b; } Itu tidak dianggap sebagai fungsi murni sejauh yang saya tahu karena saya sering mendengar …

5
Apakah menangkap / melempar pengecualian membuat metode yang murni murni?
Contoh kode berikut memberikan konteks untuk pertanyaan saya. Kelas Kamar diinisialisasi dengan delegasi. Dalam implementasi pertama dari kelas Ruangan, tidak ada penjaga terhadap delegasi yang melempar pengecualian. Pengecualian seperti itu akan muncul ke properti North, di mana delegasi dievaluasi (catatan: Main () metode menunjukkan bagaimana instance Kamar digunakan dalam kode …

4
Apakah ada alasan bagus untuk membuat fungsi murni non-publik?
Saya memiliki sedikit perdebatan dengan rekan kerja. Sederhananya, apakah ada alasan bagus untuk menyembunyikan / merangkum fungsi yang murni? Yang saya maksud dengan "murni" adalah definisi wikipedia : Selalu mengembalikan hasil yang sama dari input yang sama. (Demi diskusi Foo Create(){ return new Foo(); }ini dianggap tidak murni jika Footidak …

2
Kapan menggunakan [Murni] pada konstruktor?
Saya belajar tentang kontrak kode di .NET, dan saya mencoba memahami gagasan konstruktor murni. The kontrak Kode negara dokumentasi: Semua metode yang disebut dalam kontrak harus murni; yaitu, mereka tidak boleh memperbarui keadaan yang sudah ada sebelumnya. Metode murni diizinkan untuk memodifikasi objek yang telah dibuat setelah masuk ke metode …

5
Apakah suatu fungsi segera tidak murni jika mengambil fungsi sebagai parameter?
Karena kemurnian parameter input tidak diketahui hingga runtime, apakah fungsi segera dianggap tidak murni jika mengambil fungsi sebagai parameter input? Terkait: jika suatu fungsi menerapkan fungsi murni yang didefinisikan di luar fungsi, tetapi tidak dimasukkan sebagai parameter, apakah masih murni jika memenuhi kriteria tidak memiliki efek samping dan output hanya …

6
Fungsional vs murni katakan, jangan tanya?
"Jumlah argumen ideal untuk fungsi adalah nol" jelas salah. Jumlah argumen yang ideal adalah persis jumlah yang dibutuhkan untuk memungkinkan fungsi Anda bebas efek samping. Kurang dari itu dan Anda tidak perlu menyebabkan fungsi Anda menjadi tidak murni sehingga memaksa Anda untuk menjauh dari jurang kesuksesan dan menaiki kemiringan rasa …

3
Asal "sebuah metode harus mengembalikan nilai atau memiliki efek samping, tetapi tidak keduanya"
Saya pernah membaca bahwa suatu metode harus memiliki nilai balik (dan transparan secara referensial), atau memiliki efek samping, tetapi tidak keduanya. Saya tidak dapat menemukan referensi untuk aturan ini, tetapi ingin belajar lebih banyak tentangnya. Apa asal usul nasihat ini? Dari orang atau komunitas apa itu muncul? Kredit ekstra: Apa …

5
Hitung jika suatu fungsi murni
Sesuai Wikipedia: Dalam pemrograman komputer, fungsi dapat digambarkan sebagai murni jika kedua pernyataan ini tentang fungsi ditahan: Fungsi selalu mengevaluasi nilai hasil yang sama mengingat nilai argumen yang sama. Nilai hasil fungsi tidak dapat bergantung pada informasi atau keadaan tersembunyi yang dapat berubah saat eksekusi program berlangsung atau antara berbagai …

2
Bagaimana pemrograman fungsional menangani situasi di mana objek yang sama direferensikan dari banyak tempat?
Saya membaca dan mendengar bahwa orang-orang (juga di situs ini) secara rutin memuji paradigma pemrograman fungsional, menekankan betapa baiknya memiliki segala sesuatu yang abadi. Khususnya, orang mengusulkan pendekatan ini bahkan dalam bahasa OO yang secara tradisional sangat penting, seperti C #, Java atau C ++, tidak hanya dalam bahasa yang …


4
Apakah metode ini murni?
Saya memiliki metode ekstensi berikut: public static IEnumerable<T> Apply<T>( [NotNull] this IEnumerable<T> source, [NotNull] Action<T> action) where T : class { source.CheckArgumentNull("source"); action.CheckArgumentNull("action"); return source.ApplyIterator(action); } private static IEnumerable<T> ApplyIterator<T>(this IEnumerable<T> source, Action<T> action) where T : class { foreach (var item in source) { action(item); yield return item; } …

4
Apakah secara implisit tergantung pada fungsi murni yang buruk (khususnya, untuk pengujian)?
Untuk memperluas sedikit pada judul, saya mencoba untuk mendapatkan beberapa kesimpulan tentang apakah perlu atau tidak untuk secara eksplisit mendeklarasikan (yaitu menyuntikkan) fungsi murni di mana beberapa fungsi atau kelas lain bergantung. Apakah kode yang diberikan kurang dapat diuji atau lebih buruk dirancang jika menggunakan fungsi murni tanpa meminta mereka? …
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.