{"id":8372,"date":"2021-04-24T08:12:56","date_gmt":"2021-04-24T08:12:56","guid":{"rendered":"https:\/\/prwatech.in\/blog\/?p=8372"},"modified":"2024-04-13T06:29:30","modified_gmt":"2024-04-13T06:29:30","slug":"scala-closure","status":"publish","type":"post","link":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/","title":{"rendered":"Scala &#8211; Closure"},"content":{"rendered":"\r\n<h2><span data-sheets-root=\"1\" data-sheets-value=\"{&quot;1&quot;:2,&quot;2&quot;:&quot;A Guide to Scala's Closures&quot;}\" data-sheets-userformat=\"{&quot;2&quot;:6145,&quot;3&quot;:{&quot;1&quot;:0,&quot;3&quot;:1},&quot;14&quot;:{&quot;1&quot;:3,&quot;3&quot;:1},&quot;15&quot;:&quot;Arial&quot;}\">A Guide to Scala&#8217;s Closures<\/span><\/h2>\r\n<p>&nbsp;<\/p>\r\n<p><strong>Closure<\/strong> is a function in <a href=\"https:\/\/prwatech.in\/blog\/scala\/scala-a-quick-overview\/\">scala<\/a>, it&#8217;s return value depends on one or more variable which is declared outside the function.<\/p>\r\n<div class=\"flex-1 overflow-hidden\">\r\n<div class=\"react-scroll-to-bottom--css-kloqy-79elbk h-full\">\r\n<div class=\"react-scroll-to-bottom--css-kloqy-1n7m0yu\">\r\n<div class=\"flex flex-col text-sm pb-9\">\r\n<div class=\"w-full text-token-text-primary\" dir=\"auto\" data-testid=\"conversation-turn-166\">\r\n<div class=\"px-4 py-2 justify-center text-base md:gap-6 m-auto\">\r\n<div class=\"flex flex-1 text-base mx-auto gap-3 juice:gap-4 juice:md:gap-6 md:px-5 lg:px-1 xl:px-5 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem] group final-completion\">\r\n<div class=\"relative flex w-full flex-col agent-turn\">\r\n<div class=\"flex-col gap-1 md:gap-3\">\r\n<div class=\"flex flex-grow flex-col max-w-full\">\r\n<div class=\"min-h-[20px] text-message flex flex-col items-start gap-3 whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 overflow-x-auto\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"30e52d6c-839d-40e7-a57e-96c75d94860c\">\r\n<div class=\"markdown prose w-full break-words dark:prose-invert light\">\r\n<p>In Scala, procedures and functions are closely related concepts but have distinct characteristics based on their definitions and usage within the language.<\/p>\r\n<p>A <strong>function<\/strong> in Scala is a named block of code that takes zero or more input parameters and produces a result when invoked. Functions are defined using the <code>def<\/code> keyword and explicitly specify a return type. They are first-class citizens in Scala, meaning they can be assigned to variables, passed as arguments, and returned from other functions. Functions in Scala always return a value, even if it&#8217;s <code>Unit<\/code> (similar to <code>void<\/code> in other languages).<\/p>\r\n<p>On the other hand, a <strong>procedure<\/strong> in Scala is a special kind of function that does not return a value explicitly. Procedures are defined using the <code>def<\/code> keyword without specifying a return type (or specifying <code>Unit<\/code> explicitly). Procedures are primarily used for their side effects, such as printing to the console or modifying mutable state, rather than computing and returning values.<\/p>\r\n<p>The distinction between functions and procedures highlights Scala&#8217;s functional programming capabilities and emphasizes the importance of clarity in side-effecting versus pure computations. While functions focus on producing results based on input parameters, procedures emphasize performing actions without necessarily returning a value. Understanding these differences is crucial for writing expressive and idiomatic Scala code.<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<h3><strong>use case 1: <\/strong><\/h3>\r\n\r\n\r\n\r\n<p><strong>object<\/strong> closure1 {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0 <strong>def<\/strong> main(args: Array[<em>String<\/em>]) {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 println( &#8220;multiplier(1) value = &#8221; +\u00a0 multiplier(4) )<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0 println( &#8220;multiplier(2) value = &#8221; +\u00a0 multiplier(5) )<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0 <strong>var<\/strong> factor = 5<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0 <strong>val<\/strong> multiplier = (i:Int) =&gt; i * factor<\/p>\r\n\r\n\r\n\r\n<p>}<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"482\" height=\"162\" class=\"wp-image-8375\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png 482w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60-300x101.png 300w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>output<\/strong><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"467\" height=\"68\" class=\"wp-image-8378\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-62.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-62.png 467w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-62-300x44.png 300w\" sizes=\"auto, (max-width: 467px) 100vw, 467px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><strong>use case 2:<\/strong><\/p>\r\n\r\n\r\n\r\n<p><strong>object<\/strong> closure2 {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 \/\/ Main method<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 <strong>def<\/strong> main(args: Array[<em>String<\/em>])<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 println( &#8220;Final_Sum(1) value = &#8221; + sum(1))<\/p>\r\n\r\n\r\n\r\n<p>\u00a0 \u00a0 \u00a0 \u00a0 2println( &#8220;Final_Sum(2) value = &#8221; + sum(2))<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 println( &#8220;Final_Sum(3) value = &#8221; + sum(3))<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 <strong>var<\/strong> a = 4<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 \/\/ define closure function<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 <strong>val<\/strong> sum = (b:Int) =&gt; b + a<\/p>\r\n\r\n\r\n\r\n<p>}<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"241\" class=\"wp-image-8379\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-63.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-63.png 470w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-63-300x154.png 300w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>output<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"470\" height=\"112\" class=\"wp-image-8380\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-64.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-64.png 470w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-64-300x71.png 300w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Here, In above program function\u00a0<strong>sum<\/strong>\u00a0is a closure function. var a = 4 is impure closure. the value of a is same and values of b is different.<\/p>\r\n\r\n\r\n\r\n<p><strong>use case 3:<\/strong><\/p>\r\n\r\n\r\n\r\n<p><strong>object<\/strong> closure3 {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 \/\/ Main method<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 <strong>def<\/strong> main(args: Array[<em>String<\/em>])<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 {<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>var<\/strong> employee = 30<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ define closure function<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>val<\/strong> closure3 = (name: <em>String<\/em>) =&gt; println(s&#8221;Company name is $name&#8221;+<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 s&#8221; and total no. of employees are $employee&#8221;)<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 closure3(&#8220;prwatech&#8221;)<\/p>\r\n\r\n\r\n\r\n<p>\u00a0\u00a0\u00a0 }<\/p>\r\n\r\n\r\n\r\n<p>}<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"581\" height=\"240\" class=\"wp-image-8381\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-65.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-65.png 581w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-65-300x124.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>output<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"486\" height=\"64\" class=\"wp-image-8382\" src=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-66.png\" alt=\"\" srcset=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-66.png 486w, https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-66-300x40.png 300w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Here, In above example\u00a0<strong>closure3<\/strong>\u00a0is a closure. var employee is mutable variable which can be <a href=\"http:\/\/scala-lang.org\">change<\/a>.<\/p>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>A Guide to Scala&#8217;s Closures &nbsp; Closure is a function in scala, it&#8217;s return value depends on one or more variable which is declared outside the function. In Scala, procedures and functions are closely related concepts but have distinct characteristics based on their definitions and usage within the language. A function in Scala is a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[565,1698],"tags":[1088,1093,1091,1094,1090,1095,1092,1097,1089,1096],"class_list":["post-8372","post","type-post","status-publish","format-standard","hentry","category-scala","category-scala-modules-scala","tag-closure","tag-closure-example","tag-closure-function","tag-closure-function-in-scala","tag-closure-in-scala","tag-closure-scala-example","tag-closure-usecases-scala","tag-how-to-use-closure-in-scala","tag-scala-closure","tag-scala-closure-use-cases"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A Guide to Scala&#039;s Closures - Prwatech<\/title>\n<meta name=\"description\" content=\"Master A Guide to Scala&#039;s Closures - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Guide to Scala&#039;s Closures - Prwatech\" \/>\n<meta property=\"og:description\" content=\"Master A Guide to Scala&#039;s Closures - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/\" \/>\n<meta property=\"og:site_name\" content=\"Prwatech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prwatech.in\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-24T08:12:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-13T06:29:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png\" \/>\n<meta name=\"author\" content=\"Prwatech\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Eduprwatech\" \/>\n<meta name=\"twitter:site\" content=\"@Eduprwatech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prwatech\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/\",\"url\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/\",\"name\":\"A Guide to Scala's Closures - Prwatech\",\"isPartOf\":{\"@id\":\"https:\/\/prwatech.in\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png\",\"datePublished\":\"2021-04-24T08:12:56+00:00\",\"dateModified\":\"2024-04-13T06:29:30+00:00\",\"author\":{\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3\"},\"description\":\"Master A Guide to Scala's Closures - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.\",\"breadcrumb\":{\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#primaryimage\",\"url\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png\",\"contentUrl\":\"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png\",\"width\":482,\"height\":162},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/prwatech.in\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scala &#8211; Closure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/prwatech.in\/blog\/#website\",\"url\":\"https:\/\/prwatech.in\/blog\/\",\"name\":\"Prwatech\",\"description\":\"Share Ideas, Start Something Good.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/prwatech.in\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3\",\"name\":\"Prwatech\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prwatech.in\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g\",\"caption\":\"Prwatech\"},\"url\":\"https:\/\/prwatech.in\/blog\/author\/prwatech123\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Guide to Scala's Closures - Prwatech","description":"Master A Guide to Scala's Closures - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"A Guide to Scala's Closures - Prwatech","og_description":"Master A Guide to Scala's Closures - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.","og_url":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/","og_site_name":"Prwatech","article_publisher":"https:\/\/www.facebook.com\/prwatech.in\/","article_published_time":"2021-04-24T08:12:56+00:00","article_modified_time":"2024-04-13T06:29:30+00:00","og_image":[{"url":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png","type":"","width":"","height":""}],"author":"Prwatech","twitter_card":"summary_large_image","twitter_creator":"@Eduprwatech","twitter_site":"@Eduprwatech","twitter_misc":{"Written by":"Prwatech","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/","url":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/","name":"A Guide to Scala's Closures - Prwatech","isPartOf":{"@id":"https:\/\/prwatech.in\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#primaryimage"},"image":{"@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#primaryimage"},"thumbnailUrl":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png","datePublished":"2021-04-24T08:12:56+00:00","dateModified":"2024-04-13T06:29:30+00:00","author":{"@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3"},"description":"Master A Guide to Scala's Closures - Dive deep with our expert instructors and comprehensive curriculum, Enroll now.","breadcrumb":{"@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#primaryimage","url":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png","contentUrl":"https:\/\/prwatech.in\/blog\/wp-content\/uploads\/2021\/04\/image-60.png","width":482,"height":162},{"@type":"BreadcrumbList","@id":"https:\/\/prwatech.in\/blog\/scala\/scala-modules-scala\/scala-closure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prwatech.in\/blog\/"},{"@type":"ListItem","position":2,"name":"Scala &#8211; Closure"}]},{"@type":"WebSite","@id":"https:\/\/prwatech.in\/blog\/#website","url":"https:\/\/prwatech.in\/blog\/","name":"Prwatech","description":"Share Ideas, Start Something Good.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prwatech.in\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/db90baff7744090b2288bbc98fea87f3","name":"Prwatech","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prwatech.in\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c00bafc1b04045f31eda917de39891456c44fa47c092b9bb6be0f860a3a30a2f?s=96&d=mm&r=g","caption":"Prwatech"},"url":"https:\/\/prwatech.in\/blog\/author\/prwatech123\/"}]}},"_links":{"self":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/8372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/comments?post=8372"}],"version-history":[{"count":8,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/8372\/revisions"}],"predecessor-version":[{"id":11421,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/posts\/8372\/revisions\/11421"}],"wp:attachment":[{"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/media?parent=8372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/categories?post=8372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prwatech.in\/blog\/wp-json\/wp\/v2\/tags?post=8372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}