{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"Rust'ta Closure'lar: Fn, FnMut ve FnOnce'\u0131n Derinlemesine \u0130ncelenmesi","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"jiPQ8HcYcC\"><a href=\"https:\/\/fatihsoysal.com\/blog\/rustta-closurelar-fn-fnmut-ve-fnoncein-derinlemesine-incelenmesi\/\">Rust&#8217;ta Closure&#8217;lar: Fn, FnMut ve FnOnce&#8217;\u0131n Derinlemesine \u0130ncelenmesi<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/rustta-closurelar-fn-fnmut-ve-fnoncein-derinlemesine-incelenmesi\/embed\/#?secret=jiPQ8HcYcC\" width=\"600\" height=\"338\" title=\"&#8220;Rust&#8217;ta Closure&#8217;lar: Fn, FnMut ve FnOnce&#8217;\u0131n Derinlemesine \u0130ncelenmesi&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"jiPQ8HcYcC\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Rust programlama dilinde closure'lar, fonksiyonel programlama paradigmas\u0131n\u0131n \u00f6nemli bir par\u00e7as\u0131d\u0131r. Ancak, Rust'\u0131n sahip oldu\u011fu g\u00fc\u00e7l\u00fc tip sistemi nedeniyle, closure'lar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131 ve farkl\u0131 t\u00fcrlerinin (Fn, FnMut, FnOnce) ne anlama geldi\u011fi olduk\u00e7a \u00f6nemlidir. Bu makalede, closure'lar\u0131n Rust'taki davran\u0131\u015flar\u0131n\u0131, \u00f6zellikle de Fn, FnMut ve FnOnce t\u00fcrlerini detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z. \u00d6ncelikle, closure'lar\u0131n ne oldu\u011funu ve neden kullan\u0131ld\u0131\u011f\u0131n\u0131 anlamakla ba\u015flayal\u0131m. Ard\u0131ndan, her bir closure t\u00fcr\u00fcn\u00fcn \u00f6zelliklerini ve aralar\u0131ndaki farklar\u0131 inceleyece\u011fiz. Son olarak, \u00f6rneklerle konuyu peki\u015ftirece\u011fiz."}