{"id":38780,"date":"2024-12-31T04:46:12","date_gmt":"2024-12-31T04:46:12","guid":{"rendered":"https:\/\/www.railscarma.com\/?p=38780"},"modified":"2024-12-31T05:07:55","modified_gmt":"2024-12-31T05:07:55","slug":"understanding-rubys-sort_by-method-a-beginners-guide","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/fr\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/","title":{"rendered":"Understanding Ruby&#8217;s sort_by Method: A Beginner&#8217;s Guide"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"38780\" class=\"elementor elementor-38780\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-98ec263 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"98ec263\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0c00766\" data-id=\"0c00766\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-19c3462 elementor-widget elementor-widget-text-editor\" data-id=\"19c3462\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Ruby\u2019s <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> method is a powerful and flexible way to sort collections like arrays and hashes based on specific criteria. Unlike the more general <\/span><span style=\"font-weight: 400;\">trier<\/span><span style=\"font-weight: 400;\"> method, <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> simplifies the process of sorting when dealing with complex or custom sorting logic. In this guide, we will explore the <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> method step-by-step, complete with examples to help beginners grasp its utility.<\/span><\/p>\n<h2><b>What is the <\/b><b>sort_by<\/b><b> Method?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Le <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> method is an Enumerable method in Ruby that sorts a collection by evaluating a block for each element. The block returns a value that serves as the basis for sorting. This method is particularly useful when the elements themselves are not directly comparable or when you need custom sorting logic.<\/span><\/p>\n<h4><b>Syntax of <\/b><b>sort_by<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">collection.sort_by { |element| block }<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">collection<\/span><span style=\"font-weight: 400;\"> is the array or enumerable object you want to sort.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">block<\/span><span style=\"font-weight: 400;\"> specifies the criteria to use for sorting.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Le <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> method returns a new array with the elements sorted according to the values returned by the block.<\/span><\/p>\n<h4><b>Simple Example<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Let\u2019s start with a basic example of sorting an array of strings by their lengths.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">words = [&#8220;apple&#8221;, &#8220;pear&#8221;, &#8220;banana&#8221;, &#8220;kiwi&#8221;]<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\"># Sorting by string length<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sorted_words = words.sort_by { |word| word.length }<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">puts sorted_words.inspect<\/span><\/p>\n<p><b>Sortir:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">[&#8220;pear&#8221;, &#8220;kiwi&#8221;, &#8220;apple&#8221;, &#8220;banana&#8221;]<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ici, le bloc <\/span><span style=\"font-weight: 400;\">{ |word| word.length }<\/span><span style=\"font-weight: 400;\"> evaluates the length of each string, and <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> uses these lengths to sort the array.<\/span><\/p>\n<h2><b>Sorting Numbers<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">If you have an array of numbers, <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> might not seem necessary, but it can still be used for custom sorting logic. For instance, sorting numbers based on their absolute values:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">numbers = [10, -5, 3, -8]<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">sorted_numbers = numbers.sort_by { |num| num.abs }<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">puts sorted_numbers.inspect<\/span><\/p>\n<p><b>Sortir:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">[3, -5, -8, 10]<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ici, le bloc <\/span><span style=\"font-weight: 400;\">{ |num| num.abs }<\/span><span style=\"font-weight: 400;\"> returns the absolute value of each number, and <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> uses these values for sorting.<\/span><\/p>\n<h2><b>Sorting Hashes<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> is especially handy for sorting hashes by their keys or values.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">scores = { &#8220;Alice&#8221; =&gt; 90, &#8220;Bob&#8221; =&gt; 75, &#8220;Charlie&#8221; =&gt; 85 }<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\"># Sorting by values<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sorted_scores = scores.sort_by { |name, score| score }<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">puts sorted_scores.inspect<\/span><\/p>\n<p><b>Sortir:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">[[&#8220;Bob&#8221;, 75], [&#8220;Charlie&#8221;, 85], [&#8220;Alice&#8221;, 90]]<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Note that <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> returns an array of key-value pairs, not a hash. You can convert it back to a hash using <\/span><span style=\"font-weight: 400;\">to_h<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sorted_scores_hash = sorted_scores.to_h<\/span><\/p>\n<p><span style=\"font-weight: 400;\">puts sorted_scores_hash.inspect<\/span><\/p>\n<p><b>Sortir:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">{&#8220;Bob&#8221;=&gt;75, &#8220;Charlie&#8221;=&gt;85, &#8220;Alice&#8221;=&gt;90}<\/span><\/p>\n<h4><b>Advanced Example: Sorting Nested Arrays<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Consider a scenario where you have a nested array of student names and their grades, and you want to sort by grade.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">students = [[&#8220;Alice&#8221;, 90], [&#8220;Bob&#8221;, 75], [&#8220;Charlie&#8221;, 85]]<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\"># Sorting by grade<\/span><\/p>\n<p><span style=\"font-weight: 400;\">sorted_students = students.sort_by { |student| student[1] }<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">puts sorted_students.inspect<\/span><\/p>\n<p><b>Sortir:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">[[&#8220;Bob&#8221;, 75], [&#8220;Charlie&#8221;, 85], [&#8220;Alice&#8221;, 90]]<\/span><\/p>\n<h2><b>Comparing <\/b><b>trier<\/b><b> et <\/b><b>sort_by<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Le <\/span><span style=\"font-weight: 400;\">trier<\/span><span style=\"font-weight: 400;\"> method can achieve similar results but requires more manual setup. For example:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">words.sort { |a, b| a.length &lt;=&gt; b.length }<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While this works, it\u2019s less readable than the equivalent <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\">:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">words.sort_by { |word| word.length }<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For complex criteria, <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> is typically more concise and easier to understand.<\/span><\/p>\n<h2><b>When to Use <\/b><b>sort_by<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Utilisation <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> when:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You need to sort by a specific attribute of each element.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You want a cleaner and more readable sorting process.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Performance is a concern for complex sorting, as <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> evaluates the block once per element and uses the results for sorting.<\/span><\/li>\n<\/ol>\n<h2><b>Limitations of <\/b><b>sort_by<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Tandis que <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> is efficient and easy to use, it might not be the best choice if:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">You need to sort directly within a hash without converting it to an array and back.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The sorting criteria involve multiple attributes and require advanced comparison logic. In such cases, <\/span><span style=\"font-weight: 400;\">trier<\/span><span style=\"font-weight: 400;\"> with a custom block might be more appropriate.<\/span><\/li>\n<\/ol>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Le <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> method is a versatile tool in Ruby that simplifies sorting with custom logic. Whether you\u2019re working with strings, numbers, arrays, or <a href=\"https:\/\/ruby-doc.org\/core-2.7.5\/Hash.html\">hashes<\/a>, <\/span><span style=\"font-weight: 400;\">sort_by<\/span><span style=\"font-weight: 400;\"> helps you write clean and efficient code. By understanding its syntax and applications, you can leverage its power to handle a variety of sorting tasks.&nbsp;<\/span><span style=\"font-size: 16px; font-weight: 400;\">Experiment with <\/span><span style=\"font-size: 16px; font-weight: 400;\">sort_by<\/span><span style=\"font-size: 16px; font-weight: 400;\"> in your own projects to see how it can streamline your Ruby code!&nbsp;<\/span><span style=\"font-size: 16px;\"><a href=\"htttps:\/\/www.railscarma.com\">RailsCarma<\/a> delivers cutting-edge software solutions tailored to your business needs, specializing in <a href=\"htttps:\/\/www.railscarma.com\">D\u00e9veloppement Ruby on Rails<\/a>, AI-driven innovations, and enterprise-grade applications.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articles Similaires<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Offliberty Ruby Gem\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Qu&#039;est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/quest-ce-que-offliberty-ruby-gem-et-comment-fonctionne-t-il\/?related_post_from=41304\">\r\n        Qu'est-ce que Offliberty Ruby Gem et comment fonctionne-t-il ?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"M\u00e9thode Rails link_to\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"M\u00e9thode Rails link_to : Le guide complet avec des exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n        M\u00e9thode Rails link_to : Le guide complet avec des exemples  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Construire une plateforme SaaS avec Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Build-a-SaaS-Platform-Using-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/?related_post_from=41273\">\r\n        Comment construire une plateforme SaaS \u00e9volutive en utilisant Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Ruby Regex Match\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Ruby-Regex-Match-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/?related_post_from=41249\">\r\n        Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Ruby\u2019s sort_by method is a powerful and flexible way to sort collections like arrays and hashes based on specific criteria. Unlike the more general sort method, sort_by simplifies the process of sorting when dealing with complex or custom sorting logic. In this guide, we will explore the sort_by method step-by-step, complete with examples to help &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/ruby-regex-match-guide-with-examples\/\"> <span class=\"screen-reader-text\">Guide de correspondance des expressions rationnelles en Ruby (2026) avec exemples<\/span> Lire la suite \u00bb<\/a><\/p>","protected":false},"author":5,"featured_media":38786,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1224],"tags":[],"class_list":["post-38780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Understanding Ruby&#039;s sort_by Method: A Beginner&#039;s Guide 2025<\/title>\n<meta name=\"description\" content=\"Discover Ruby&#039;s sort_by method in this beginner&#039;s guide! Learn how to efficiently sort collections with simple examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/fr\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding Ruby&#039;s sort_by Method: A Beginner&#039;s Guide 2025\" \/>\n<meta property=\"og:description\" content=\"Discover Ruby&#039;s sort_by method in this beginner&#039;s guide! Learn how to efficiently sort collections with simple examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/fr\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-31T04:46:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-31T05:07:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nikhil\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nikhil\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\"},\"author\":{\"name\":\"Nikhil\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\"},\"headline\":\"Understanding Ruby&#8217;s sort_by Method: A Beginner&#8217;s Guide\",\"datePublished\":\"2024-12-31T04:46:12+00:00\",\"dateModified\":\"2024-12-31T05:07:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\"},\"wordCount\":718,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png\",\"articleSection\":[\"Blogs\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\",\"name\":\"Understanding Ruby's sort_by Method: A Beginner's Guide 2025\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png\",\"datePublished\":\"2024-12-31T04:46:12+00:00\",\"dateModified\":\"2024-12-31T05:07:55+00:00\",\"description\":\"Discover Ruby's sort_by method in this beginner's guide! Learn how to efficiently sort collections with simple examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png\",\"width\":800,\"height\":300,\"caption\":\"Understanding Ruby\u2019s sort_by Method A Beginner\u2019s Guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding Ruby&#8217;s sort_by Method: A Beginner&#8217;s Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c\",\"name\":\"Nikhil\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g\",\"caption\":\"Nikhil\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding Ruby's sort_by Method: A Beginner's Guide 2025","description":"Discover Ruby's sort_by method in this beginner's guide! Learn how to efficiently sort collections with simple examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/fr\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/","og_locale":"fr_FR","og_type":"article","og_title":"Understanding Ruby's sort_by Method: A Beginner's Guide 2025","og_description":"Discover Ruby's sort_by method in this beginner's guide! Learn how to efficiently sort collections with simple examples.","og_url":"https:\/\/www.railscarma.com\/fr\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2024-12-31T04:46:12+00:00","article_modified_time":"2024-12-31T05:07:55+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png","type":"image\/png"}],"author":"Nikhil","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"\u00c9crit par":"Nikhil","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/"},"author":{"name":"Nikhil","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c"},"headline":"Understanding Ruby&#8217;s sort_by Method: A Beginner&#8217;s Guide","datePublished":"2024-12-31T04:46:12+00:00","dateModified":"2024-12-31T05:07:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/"},"wordCount":718,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png","articleSection":["Blogs"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/","url":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/","name":"Understanding Ruby's sort_by Method: A Beginner's Guide 2025","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png","datePublished":"2024-12-31T04:46:12+00:00","dateModified":"2024-12-31T05:07:55+00:00","description":"Discover Ruby's sort_by method in this beginner's guide! Learn how to efficiently sort collections with simple examples.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2024\/12\/Understanding-Rubys-sort_by-Method-A-Beginners-Guide.png","width":800,"height":300,"caption":"Understanding Ruby\u2019s sort_by Method A Beginner\u2019s Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/understanding-rubys-sort_by-method-a-beginners-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Understanding Ruby&#8217;s sort_by Method: A Beginner&#8217;s Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails sp\u00e9cialis\u00e9e dans le d\u00e9veloppement offshore","description":"RailsCarma est une soci\u00e9t\u00e9 de d\u00e9veloppement Ruby on Rails \u00e0 Bangalore. Nous sommes sp\u00e9cialis\u00e9s dans le d\u00e9veloppement offshore Ruby on Rails, bas\u00e9s aux \u00c9tats-Unis et en Inde. Embauchez des d\u00e9veloppeurs Ruby on Rails exp\u00e9riment\u00e9s pour une exp\u00e9rience Web ultime.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/1aa0357392b349082303e8222c35c30c","name":"Nikhil","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/054f31ff35e9917aaf631b8025ef679d42dd21792012d451763138d66d02a4c0?s=96&d=mm&r=g","caption":"Nikhil"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/38780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/comments?post=38780"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/posts\/38780\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media\/38786"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/media?parent=38780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/categories?post=38780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/fr\/wp-json\/wp\/v2\/tags?post=38780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}