CINXE.COM
Ruby Programming Language
<!DOCTYPE html> <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.ruby-lang.org/en/","20240802231939","https://web.archive.org/","web","/_static/", "1722640779"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <title>Ruby Programming Language</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta itemprop="image" content="https://web.archive.org/web/20240802231939im_/https://www.ruby-lang.org/images/header-ruby-logo@2x.png"> <meta name="description" content=""> <link rel="stylesheet" type="text/css" href="/web/20240802231939cs_/https://www.ruby-lang.org/stylesheets/normalize.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231939cs_/https://www.ruby-lang.org/stylesheets/main.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231939cs_/https://www.ruby-lang.org/stylesheets/pygments.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231939cs_/https://www.ruby-lang.org/stylesheets/mobile.css"> <link rel="stylesheet" type="text/css" href="/web/20240802231939cs_/https://www.ruby-lang.org/stylesheets/print.css"> <link href="https://web.archive.org/web/20240802231939cs_/https://fonts.googleapis.com/css?family=Noto+Sans:400,700,400italic,700italic&subset=latin,cyrillic,greek,vietnamese" rel="stylesheet" type="text/css"> <link rel="canonical" href="https://web.archive.org/web/20240802231939/https://www.ruby-lang.org/en/"> <link rel="shortcut icon" type="image/x-icon" href="/web/20240802231939im_/https://www.ruby-lang.org/favicon.ico"> <link href="/web/20240802231939/https://www.ruby-lang.org/en/feeds/news.rss" rel="alternate" title="Recent News (RSS)" type="application/rss+xml"> <script type="text/javascript" src="/web/20240802231939js_/https://www.ruby-lang.org/javascripts/jquery.min.js"></script> <script type="text/javascript" src="/web/20240802231939js_/https://www.ruby-lang.org/javascripts/page.js"></script> <script type="text/javascript" src="/web/20240802231939js_/https://www.ruby-lang.org/javascripts/examples.js"></script> </head> <body id="home-page-layout"> <div id="header"> <div id="header_content" class="container"> <a href="/web/20240802231939/https://www.ruby-lang.org/en/"> <h1>Ruby</h1> <h2>A Programmer's Best Friend</h2> </a> <div class="site-links"> <a href="/web/20240802231939/https://www.ruby-lang.org/en/" class="home">Home</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/downloads/">Downloads</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/documentation/">Documentation</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/libraries/">Libraries</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/community/">Community</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/">News</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/security/">Security</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/about/">About Ruby</a> <a href="#" class="menu selected">Menu</a> </div> <div id="search-box"> <form id="search-form" action="https://web.archive.org/web/20240802231939/https://www.google.com/cse"> <table class="fieldset"> <tr> <td> <input class="field" type="text" name="q" size="31" style="background: white url(//web.archive.org/web/20240802231939im_/https://www.google.com/coop/intl/en/images/google_custom_search_watermark.gif) left no-repeat" onfocus="this.style.background='white'" onblur="if (/^\s*$/.test(this.value)) this.style.background='white url(//www.google.com/coop/intl/en/images/google_custom_search_watermark.gif) left no-repeat'"/> </td> <td> <input type="hidden" name="cx" value="013598269713424429640:g5orptiw95w"/> <input type="hidden" name="ie" value="UTF-8"/> <input class="button" type="submit" name="sa" value="Search"/> </td> </tr> </table> </form> </div> </div> </div> <div id="page"> <div id="intro-container"> <div class="container"> <div id="intro-wrapper"> <div id="intro"> <h1>Ruby is...</h1> <p> A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. </p> <a href="downloads/" class="download-link">Download Ruby</a> or <a href="about/">Read More...</a> </div> <div id="code"><noscript><div class="highlight"><pre><code class="ruby"> <span class="c1"># The famous Hello World</span> <span class="c1"># Program is trivial in</span> <span class="c1"># Ruby. Superfluous:</span> <span class="c1">#</span> <span class="c1"># * A "main" method</span> <span class="c1"># * Newline</span> <span class="c1"># * Semicolons</span> <span class="c1">#</span> <span class="c1"># Here is the Code:</span> <span class="nb">puts</span> <span class="s2">"Hello World!"</span> </code></pre></div></noscript></div> </div> </div> </div> <div id="main-wrapper" class="container"> <div id="main"> <div id="content-wrapper"> <!-- //--> <div id="content"> <div class="post"> <h3><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/08/01/dos-rexml-cve-2024-41946/">CVE-2024-41946: DoS vulnerability in REXML</a></h3> <p>There is a DoS vulnerability in REXML gem. This vulnerability has been assigned the CVE identifier <a href="https://web.archive.org/web/20240802231939/https://www.cve.org/CVERecord?id=CVE-2024-41946">CVE-2024-41946</a>. We strongly recommend upgrading the REXML gem.</p> <p class="post-link"><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/08/01/dos-rexml-cve-2024-41946/">Continue Reading...</a></p> <p class="post-info">Posted by kou on 1 Aug 2024</p> </div> <div class="post"> <h3><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/08/01/dos-rexml-cve-2024-41123/">CVE-2024-41123: DoS vulnerabilities in REXML</a></h3> <p>There are some DoS vulnerabilities in REXML gem. These vulnerabilities have been assigned the CVE identifier <a href="https://web.archive.org/web/20240802231939/https://www.cve.org/CVERecord?id=CVE-2024-41123">CVE-2024-41123</a>. We strongly recommend upgrading the REXML gem.</p> <p class="post-link"><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/08/01/dos-rexml-cve-2024-41123/">Continue Reading...</a></p> <p class="post-info">Posted by kou on 1 Aug 2024</p> </div> <div class="post"> <h3><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/">Ruby 3.2.5 Released</a></h3> <p>Ruby 3.2.5 has been released.</p> <p class="post-link"><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/07/26/ruby-3-2-5-released/">Continue Reading...</a></p> <p class="post-info">Posted by nagachika on 26 Jul 2024</p> </div> <div class="post"> <h3><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908/">CVE-2024-39908: DoS vulnerability in REXML</a></h3> <p>There is a DoS vulnerability in REXML gem. This vulnerability has been assigned the CVE identifier <a href="https://web.archive.org/web/20240802231939/https://www.cve.org/CVERecord?id=CVE-2024-39908">CVE-2024-39908</a>. We strongly recommend upgrading the REXML gem.</p> <p class="post-link"><a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/07/16/dos-rexml-cve-2024-39908/">Continue Reading...</a></p> <p class="post-info">Posted by watson1978 on 16 Jul 2024</p> </div> <div id="news"> <h3>Other News</h3> <ul> <li> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/07/09/ruby-3-3-4-released/">Ruby 3.3.4 Released</a><br> <span class="post-info">Posted by k0kubun on 9 Jul 2024</span> </li> <li> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/06/12/ruby-3-3-3-released/">Ruby 3.3.3 Released</a><br> <span class="post-info">Posted by k0kubun on 12 Jun 2024</span> </li> <li> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/">Ruby 3.3.2 Released</a><br> <span class="post-info">Posted by k0kubun on 30 May 2024</span> </li> <li> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/05/30/datadog-oss-program/">Datadog provides OSS community support for ruby-lang.org</a><br> <span class="post-info">Posted by hsbt on 30 May 2024</span> </li> <li> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/">Ruby 3.1.6 Released</a><br> <span class="post-info">Posted by hsbt on 29 May 2024</span> </li> <li> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/2024/05/16/dos-rexml-cve-2024-35176/">CVE-2024-35176: DoS vulnerability in REXML</a><br> <span class="post-info">Posted by kou on 16 May 2024</span> </li> </ul> <p class="more"> <a href="news/">More News...</a> </p> </div> </div> </div> <hr class="hidden-modern"/> <div id="sidebar-wrapper"> <div id="sidebar"> <div class="navigation"> <h3><strong>Get Started</strong>, it's easy!</h3> <ul class="menu"> <li><a href="https://web.archive.org/web/20240802231939/https://try.ruby-lang.org/">Try Ruby! (in your browser)</a></li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/documentation/quickstart/">Ruby in Twenty Minutes</a></li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/">Ruby from Other Languages</a></li> </ul> </div> <div class="navigation"> <h3><strong>Explore</strong> a new world…</h3> <ul class="menu"> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/documentation/">Documentation</a></li> <li><a href="https://web.archive.org/web/20240802231939/https://rubybib.org/">Academic Research</a></li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/libraries/">Libraries</a></li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/documentation/success-stories/">Success Stories</a></li> </ul> </div> <div class="navigation"> <h3><strong>Participate</strong> in a friendly and growing community.</h3> <ul> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/community/mailing-lists/">Mailing Lists</a>: Talk about Ruby with programmers from all around the world.</li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/community/user-groups/">User Groups</a>: Get in contact with Rubyists in your area.</li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/community/weblogs/">Blogs</a>: Read about what’s happening right now in the Ruby community.</li> <li><a href="/web/20240802231939/https://www.ruby-lang.org/en/community/ruby-core/">Ruby Core</a>: Help polish the rough edges of the latest Ruby.</li> <li><a href="https://web.archive.org/web/20240802231939/https://bugs.ruby-lang.org/">Issue Tracking</a>: Report or help solve issues in Ruby.</li> </ul> </div> <h3>Syndicate</h3> <p><a href="/web/20240802231939/https://www.ruby-lang.org/en/feeds/news.rss">Recent News (RSS)</a></p> </div> </div> <hr class="hidden-modern"/> </div> </div> </div> <div class="container"> <div id="footer"> <div class="site-links"> <a href="/web/20240802231939/https://www.ruby-lang.org/en/" class="home">Home</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/downloads/">Downloads</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/documentation/">Documentation</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/libraries/">Libraries</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/community/">Community</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/news/">News</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/security/">Security</a> <a href="/web/20240802231939/https://www.ruby-lang.org/en/about/">About Ruby</a> </div> <p> This site in other languages: <a href="/web/20240802231939/https://www.ruby-lang.org/bg/">Български</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/de/">Deutsch</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/en/">English</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/es/">Español</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/fr/">Français</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/id/">Bahasa Indonesia</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/it/">Italiano</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/ja/">日本語</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/ko/">한국어</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/pl/">polski</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/pt/">Português</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/ru/">Русский</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/tr/">Türkçe</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/vi/">Tiếng Việt</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/zh_cn/">简体中文</a>, <a href="/web/20240802231939/https://www.ruby-lang.org/zh_tw/">繁體中文</a>. </p> <p><a href="/web/20240802231939/https://www.ruby-lang.org/en/about/website/">This website</a> is proudly maintained by members of the Ruby community.</p> </div> </div> </body> </html> <!-- FILE ARCHIVED ON 23:19:39 Aug 02, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 19:37:12 Dec 04, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.554 exclusion.robots: 0.022 exclusion.robots.policy: 0.013 esindex: 0.012 cdx.remote: 7.097 LoadShardBlock: 231.892 (6) PetaboxLoader3.datanode: 182.237 (7) PetaboxLoader3.resolve: 319.505 (2) load_resource: 328.91 -->