{"id":2885,"date":"2021-11-16T22:35:18","date_gmt":"2021-11-16T13:35:18","guid":{"rendered":"https:\/\/suzutukiblog.com\/?p=2885"},"modified":"2022-01-22T05:41:49","modified_gmt":"2022-01-21T20:41:49","slug":"rails-tutorial-4","status":"publish","type":"post","link":"https:\/\/suzutukiblog.com\/index.php\/2021\/11\/16\/rails-tutorial-4\/","title":{"rendered":"Rails-tutorial\u81ea\u5206\u7528\u307e\u3068\u3081(4\u7ae0 Ruby )"},"content":{"rendered":"<h3><a href=\"https:\/\/suzutukiblog.com\/index.php\/2021\/04\/16\/rails-tutorial-3\/\">\u305d\u306e\uff13\u304b\u3089\u7d9a\u304f<\/a><\/h3>\n<h3>4\u7ae0Rails\u98a8\u5473\u306eRuby<\/h3>\n<h3><span class=\"number\">4.1.1\u00a0<\/span>\u7d44\u307f\u8fbc\u307f\u30d8\u30eb\u30d1\u30fc<\/h3>\n<div class=\"heading\"><span class=\"description\">\u30b5\u30f3\u30d7\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ec\u30a4\u30a2\u30a6\u30c8<\/span><\/div>\n<div class=\"heading\"><span class=\"description\"><code class=\"filepath\"><strong>app\/views\/layouts\/application.html.erb<\/strong><\/code><\/span><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"cp\">&lt;!DOCTYPE html&gt;<\/span>\r\n<span class=\"p\">&lt;<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span>\r\n  <span class=\"p\">&lt;<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\r\n    <span class=\"p\">&lt;<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span><span class=\"cp\">&lt;%=<\/span> <span class=\"k\">yield<\/span><span class=\"p\">(<\/span><span class=\"ss\">:title<\/span><span class=\"p\">)<\/span> <span class=\"cp\">%&gt;<\/span> | Ruby on Rails Tutorial Sample App<span class=\"p\">&lt;\/<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"n\">csrf_meta_tags<\/span> <span class=\"cp\">%&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"n\">stylesheet_link_tag<\/span>    <span class=\"s1\">'application'<\/span><span class=\"p\">,<\/span> <span class=\"ss\">media<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'all'<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"s1\">'data-turbolinks-track'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'reload'<\/span> <span class=\"cp\">%&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"n\">javascript_include_tag<\/span> <span class=\"s1\">'application'<\/span><span class=\"p\">,<\/span>\r\n        <span class=\"s1\">'data-turbolinks-track'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'reload'<\/span> <span class=\"cp\">%&gt;<\/span>\r\n  <span class=\"p\">&lt;\/<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\r\n  <span class=\"p\">&lt;<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"k\">yield<\/span> <span class=\"cp\">%&gt;<\/span>\r\n  <span class=\"p\">&lt;\/<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\r\n<span class=\"p\">&lt;\/<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span><\/strong><\/pre>\n<\/div>\n<\/div>\n<p><strong><code>stylesheet_link_tag<\/code><\/strong>\u00a0(\u8a73\u7d30\u306fRails API\u53c2\u7167) \u3092\u4f7f\u3063\u3066\u3001<strong><code>application.css<\/code><\/strong>\u3092\u3059\u3079\u3066\u306e\u30e1\u30c7\u30a3\u30a2\u30bf\u30a4\u30d7\u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059<\/p>\n<h3><span class=\"number\">4.1.2\u00a0<\/span>\u30ab\u30b9\u30bf\u30e0\u30d8\u30eb\u30d1\u30fc<\/h3>\n<p>\u65b0\u3057\u304f\u4f5c\u3063\u305f\u30e1\u30bd\u30c3\u30c9\u306f<strong><em>\u30ab\u30b9\u30bf\u30e0\u30d8\u30eb\u30d1\u30fc<\/em><\/strong><\/p>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"cp\">&lt;%=<\/span> <span class=\"k\">yield<\/span><span class=\"p\">(<\/span><span class=\"ss\">:title<\/span><span class=\"p\">)<\/span> <span class=\"cp\">%&gt;<\/span> | Ruby on Rails Tutorial Sample App\r\n<\/strong><\/pre>\n<pre><strong><span class=\"cp\">&lt;%<\/span> <span class=\"n\">provide<\/span><span class=\"p\">(<\/span><span class=\"ss\">:title<\/span><span class=\"p\">,<\/span> <span class=\"s2\">\"Home\"<\/span><span class=\"p\">)<\/span> <span class=\"cp\">%&gt;<\/span>\r\n<span class=\"p\">&lt;<\/span><span class=\"nt\">h1<\/span><span class=\"p\">&gt;<\/span>Sample App<span class=\"p\">&lt;\/<\/span><span class=\"nt\">h1<\/span><span class=\"p\">&gt;<\/span>\r\n<span class=\"p\">&lt;<\/span><span class=\"nt\">p<\/span><span class=\"p\">&gt;<\/span>\r\n  This is the home page for the\r\n  <span class=\"p\">&lt;<\/span><span class=\"nt\">a<\/span> <span class=\"na\">href<\/span><span class=\"o\">=<\/span><span class=\"s\">\"https:\/\/railstutorial.jp\/\"<\/span><span class=\"p\">&gt;<\/span>Ruby on Rails Tutorial<span class=\"p\">&lt;\/<\/span><span class=\"nt\">a<\/span><span class=\"p\">&gt;<\/span>\r\n  sample application.\r\n<span class=\"p\">&lt;\/<\/span><span class=\"nt\">p<\/span><span class=\"p\">&gt;<\/span><\/strong><\/pre>\n<p><code>full_title<\/code>\u3068\u3044\u3046\u30d8\u30eb\u30d1\u30fc\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\n<div class=\"heading\"><span class=\"description\"><code>full_title<\/code>\u30d8\u30eb\u30d1\u30fc\u3092\u5b9a\u7fa9\u3059\u308b<strong><code class=\"filepath\">app\/helpers\/application_helper.rb<\/code><\/strong><\/span><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"k\">module<\/span> <span class=\"nn\">ApplicationHelper<\/span>\r\n\r\n  <span class=\"c1\"># \u30da\u30fc\u30b8\u3054\u3068\u306e\u5b8c\u5168\u306a\u30bf\u30a4\u30c8\u30eb\u3092\u8fd4\u3057\u307e\u3059\u3002<\/span>\r\n  <span class=\"k\">def<\/span> <span class=\"nf\">full_title<\/span><span class=\"p\">(<\/span><span class=\"n\">page_title<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">''<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"n\">base_title<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"Ruby on Rails Tutorial Sample App\"<\/span>\r\n    <span class=\"k\">if<\/span> <span class=\"n\">page_title<\/span><span class=\"o\">.<\/span><span class=\"n\">empty?<\/span>\r\n      <span class=\"n\">base_title<\/span>\r\n    <span class=\"k\">else<\/span>\r\n      <span class=\"n\">page_title<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\" | \"<\/span> <span class=\"o\">+<\/span> <span class=\"n\">base_title<\/span>\r\n    <span class=\"k\">end<\/span>\r\n  <span class=\"k\">end<\/span>\r\n<span class=\"k\">end<\/span><\/strong><\/pre>\n<pre><strong><span class=\"p\">&lt;<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span><span class=\"cp\">&lt;%=<\/span> <span class=\"k\">yield<\/span><span class=\"p\">(<\/span><span class=\"ss\">:title<\/span><span class=\"p\">)<\/span> <span class=\"cp\">%&gt;<\/span> | Ruby on Rails Tutorial Sample App<span class=\"p\">&lt;\/<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;\r\n<\/span><span class=\"p\">&lt;<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span><span class=\"cp\">&lt;%=<\/span> <span class=\"n\">full_title<\/span><span class=\"p\">(<\/span><span class=\"k\">yield<\/span><span class=\"p\">(<\/span><span class=\"ss\">:title<\/span><span class=\"p\">))<\/span> <span class=\"cp\">%&gt;<\/span><span class=\"p\">&lt;\/<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span><\/strong><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<p><!--more--><\/p>\n<div><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<div class=\"code\">\n<h3 class=\"heading\"><span class=\"description\">full_title\u30d8\u30eb\u30d1\u30fc\u3092\u4f7f\u3063\u305fWeb\u30b5\u30a4\u30c8\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u00a0<span class=\"smallcaps\"><strong>green<\/strong><\/span><\/span><\/h3>\n<div><\/div>\n<div class=\"heading\"><strong><span class=\"description\"><code class=\"filepath\">app\/views\/layouts\/application.html.erb<\/code><\/span><\/strong><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"cp\">&lt;!DOCTYPE html&gt;<\/span>\r\n<span class=\"p\">&lt;<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span>\r\n  <span class=\"p\">&lt;<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\r\n<span class=\"hll\"><span class=\"p\">&lt;<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span><span class=\"cp\">&lt;%=<\/span> <span class=\"n\">full_title<\/span><span class=\"p\">(<\/span><span class=\"k\">yield<\/span><span class=\"p\">(<\/span><span class=\"ss\">:title<\/span><span class=\"p\">))<\/span> <span class=\"cp\">%&gt;<\/span><span class=\"p\">&lt;\/<\/span><span class=\"nt\">title<\/span><span class=\"p\">&gt;<\/span><\/span>    <span class=\"cp\">&lt;%=<\/span> <span class=\"n\">csrf_meta_tags<\/span> <span class=\"cp\">%&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"n\">stylesheet_link_tag<\/span>    <span class=\"s1\">'application'<\/span><span class=\"p\">,<\/span> <span class=\"ss\">media<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'all'<\/span><span class=\"p\">,<\/span>\r\n                               <span class=\"s1\">'data-turbolinks-track'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'reload'<\/span> <span class=\"cp\">%&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"n\">javascript_include_tag<\/span> <span class=\"s1\">'application'<\/span><span class=\"p\">,<\/span>\r\n                               <span class=\"s1\">'data-turbolinks-track'<\/span><span class=\"p\">:<\/span> <span class=\"s1\">'reload'<\/span> <span class=\"cp\">%&gt;<\/span>\r\n  <span class=\"p\">&lt;\/<\/span><span class=\"nt\">head<\/span><span class=\"p\">&gt;<\/span>\r\n  <span class=\"p\">&lt;<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\r\n    <span class=\"cp\">&lt;%=<\/span> <span class=\"k\">yield<\/span> <span class=\"cp\">%&gt;<\/span>\r\n  <span class=\"p\">&lt;\/<\/span><span class=\"nt\">body<\/span><span class=\"p\">&gt;<\/span>\r\n<span class=\"p\">&lt;\/<\/span><span class=\"nt\">html<\/span><span class=\"p\">&gt;<\/span><\/strong><\/pre>\n<\/div>\n<h3 class=\"heading\">\u00a0<span class=\"description\">Home\u30da\u30fc\u30b8\u306e\u30bf\u30a4\u30c8\u30eb\u78ba\u8a8d\u7528\u306b\u30c6\u30b9\u30c8\u3092\u66f4\u65b0\u3059\u308b\u00a0<span class=\"smallcaps\"><strong>red<\/strong><\/span><\/span><\/h3>\n<div><\/div>\n<div class=\"heading\"><strong><span class=\"description\"><code class=\"filepath\">test\/controllers\/static_pages_controller_test.rb<\/code><\/span><\/strong><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"nb\">require<\/span> <span class=\"s1\">'test_helper'<\/span>\r\n\r\n<span class=\"k\">class<\/span> <span class=\"nc\">StaticPagesControllerTest<\/span> <span class=\"o\">&lt;<\/span> <span class=\"no\">ActionDispatch<\/span><span class=\"o\">::<\/span><span class=\"no\">IntegrationTest<\/span>\r\n  <span class=\"nb\">test<\/span> <span class=\"s2\">\"should get home\"<\/span> <span class=\"k\">do<\/span>\r\n    <span class=\"n\">get<\/span> <span class=\"n\">static_pages_home_url<\/span>\r\n    <span class=\"n\">assert_response<\/span> <span class=\"ss\">:success<\/span>\r\n<span class=\"hll\"><span class=\"n\">assert_select<\/span> <span class=\"s2\">\"title\"<\/span><span class=\"p\">,<\/span> <span class=\"s2\">\"Ruby on Rails Tutorial Sample App\"<\/span><\/span>  <span class=\"k\">end<\/span>\r\n\r\n  <span class=\"nb\">test<\/span> <span class=\"s2\">\"should get help\"<\/span> <span class=\"k\">do<\/span>\r\n    <span class=\"n\">get<\/span> <span class=\"n\">static_pages_help_url<\/span>\r\n    <span class=\"n\">assert_response<\/span> <span class=\"ss\">:success<\/span>\r\n    <span class=\"n\">assert_select<\/span> <span class=\"s2\">\"title\"<\/span><span class=\"p\">,<\/span> <span class=\"s2\">\"Help | Ruby on Rails Tutorial Sample App\"<\/span>\r\n  <span class=\"k\">end<\/span>\r\n\r\n  <span class=\"nb\">test<\/span> <span class=\"s2\">\"should get about\"<\/span> <span class=\"k\">do<\/span>\r\n    <span class=\"n\">get<\/span> <span class=\"n\">static_pages_about_url<\/span>\r\n    <span class=\"n\">assert_response<\/span> <span class=\"ss\">:success<\/span>\r\n    <span class=\"n\">assert_select<\/span> <span class=\"s2\">\"title\"<\/span><span class=\"p\">,<\/span> <span class=\"s2\">\"About | Ruby on Rails Tutorial Sample App\"<\/span>\r\n  <span class=\"k\">end<\/span>\r\n<span class=\"k\">end<\/span><\/strong><\/pre>\n<pre><strong>rails test<\/strong>\r\n3 tests, 6 assertions, 1 failures, 0 errors, 0 skips<\/pre>\n<\/div>\n<h3 class=\"heading\"><span class=\"description\">\u30da\u30fc\u30b8\u30bf\u30a4\u30c8\u30eb\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u305b\u305a\u306b\u8868\u793a\u3059\u308bHome\u30da\u30fc\u30b8\u00a0<span class=\"smallcaps\"><strong>green<\/strong><\/span><\/span><\/h3>\n<div class=\"heading\"><strong><span class=\"description\"><code class=\"filepath\">app\/views\/static_pages\/home.html.erb<\/code><\/span><\/strong><\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><strong><span class=\"p\">&lt;<\/span><span class=\"nt\">h1<\/span><span class=\"p\">&gt;<\/span>Sample App<span class=\"p\">&lt;\/<\/span><span class=\"nt\">h1<\/span><span class=\"p\">&gt;<\/span>\r\n<span class=\"p\">&lt;<\/span><span class=\"nt\">p<\/span><span class=\"p\">&gt;<\/span>\r\n  This is the home page for the\r\n  <span class=\"p\">&lt;<\/span><span class=\"nt\">a<\/span> <span class=\"na\">href<\/span><span class=\"o\">=<\/span><span class=\"s\">\"https:\/\/railstutorial.jp\/\"<\/span><span class=\"p\">&gt;<\/span>Ruby on Rails Tutorial<span class=\"p\">&lt;\/<\/span><span class=\"nt\">a<\/span><span class=\"p\">&gt;<\/span>\r\n  sample application.\r\n<span class=\"p\">&lt;\/<\/span><span class=\"nt\">p<\/span><span class=\"p\">&gt;\r\n<\/span><\/strong><\/pre>\n<\/div>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><span class=\"gp\">irb\u3092\u4f7f\u3046\u305f\u3081\u306e\u6e96\u5099\r\n<\/span>nano ~\/.irbrc<\/pre>\n<h3 class=\"heading\"><span class=\"description\">irb\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3059\u308b <code class=\"filepath\">~\/.irbrc<\/code><\/span><\/h3>\n<div class=\"code\">\n<div class=\"highlight\">\n<pre><span class=\"no\">IRB<\/span><span class=\"o\">.<\/span><span class=\"n\">conf<\/span><span class=\"o\">[<\/span><span class=\"ss\">:PROMPT_MODE<\/span><span class=\"o\">]<\/span> <span class=\"o\">=<\/span> <span class=\"ss\">:SIMPLE\r\n<\/span><span class=\"no\">IRB<\/span><span class=\"o\">.<\/span><span class=\"n\">conf<\/span><span class=\"o\">[<\/span><span class=\"ss\">:AUTO_INDENT_MODE<\/span><span class=\"o\">]<\/span> <span class=\"o\">=<\/span> <span class=\"kp\">fals\r\n<\/span><\/pre>\n<\/div>\n<\/div>\n<h3><span class=\"number\">4.2.2\u00a0<\/span>\u6587\u5b57\u5217<\/h3>\n<pre><strong><span class=\"go\">rails console<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"s2\">\"\"<\/span>         <span class=\"c1\"># \u7a7a\u306e\u6587\u5b57\u5217<\/span>\r\n<span class=\"go\">=&gt; \"\"<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"s2\">\"foo\"<\/span>      <span class=\"c1\"># \u7a7a\u3067\u306f\u306a\u3044\u6587\u5b57\u5217<\/span>\r\n<span class=\"go\">=&gt; \"foo\"\r\n<\/span><span class=\"s2\">\"foo\"<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\"bar\"<\/span>    <span class=\"c1\"># \u6587\u5b57\u5217\u306e\u7d50\u5408<\/span>\r\n<span class=\"go\">=&gt; \"foobar\"<\/span><\/strong><\/pre>\n<p><strong>\u5f0f\u5c55\u958b (interpolation)\u00a0<\/strong><\/p>\n<pre><strong><span class=\"n\">first_name<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"Michael\"<\/span>    <span class=\"c1\"># \u5909\u6570\u306e\u4ee3\u5165<\/span>\r\n<span class=\"go\">=&gt; \"Michael\"<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"s2\">\"<\/span><span class=\"si\">#{<\/span><span class=\"n\">first_name<\/span><span class=\"si\">}<\/span><span class=\"s2\"> Hartl\"<\/span>     <span class=\"c1\"># \u6587\u5b57\u5217\u306e\u5f0f\u5c55\u958b<\/span>\r\n<span class=\"go\">=&gt; \"Michael Hartl\"<\/span><\/strong><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>\u6587\u5b57\u5217\u3092\u7d44\u307f\u7acb\u3066\u308b\u4ed6\u306e\u65b9\u6cd5\u3068\u3057\u3066\u5f0f\u5c55\u958b (interpolation)<br \/>\n\u3068\u3044\u3046\u3082\u306e\u304c\u3042\u308a\u3001#{}\u3068\u3044\u3046\u7279\u6b8a\u306a\u69cb\u6587\u3092\u4f7f\u3046\u3088<\/p>\n<pre><strong>=&gt; \"Michael Hartl\"<\/strong>\r\n<strong>&gt;&gt; first_name = \"Michael\"<\/strong>\r\n<strong>=&gt; \"Michael\"<\/strong>\r\n<strong>&gt;&gt; last_name = \"Hartl\"<\/strong>\r\n<strong>=&gt; \"Hartl\"<\/strong>\r\n<strong>&gt;&gt; first_name + \" \" + last_name<\/strong>\r\n<strong>=&gt; \"Michael Hartl\"<\/strong>\r\n<strong>&gt;&gt; \"#{first_name} #{last_name}\"<\/strong>\r\n<strong>=&gt; \"Michael Hartl\"<\/strong><\/pre>\n<p><strong><code>first_name<\/code><\/strong>\u5909\u6570\u306b\u4ee3\u5165 (assign)\u3057\u3001\u3053\u306e\u5909\u6570\u3092\u00a0<strong><code>\"#{first_name} Hartl\"<\/code><\/strong><\/p>\n<p>\u3068\u3044\u3046\u5f62\u3067\u6587\u5b57\u5217\u306e\u4e2d\u306b\u57cb\u3081\u8fbc\u3080\u3068\u3001\u6587\u5b57\u5217\u306e\u4e2d\u3067\u305d\u306e\u5909\u6570\u304c\u5c55\u958b\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre><strong><span class=\"n\">first_name<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"Michael\"<\/span>\r\n<span class=\"go\">=&gt; \"Michael\"<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"n\">last_name<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">\"Hartl\"<\/span>\r\n<span class=\"go\">=&gt; \"Hartl\"<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"n\">first_name<\/span> <span class=\"o\">+<\/span> <span class=\"s2\">\" \"<\/span> <span class=\"o\">+<\/span> <span class=\"n\">last_name<\/span>    <span class=\"c1\"># \u82d7\u5b57\u3068\u540d\u524d\u306e\u9593\u306b\u7a7a\u767d\u3092\u5165\u308c\u305f\u7d50\u5408<\/span>\r\n<span class=\"go\">=&gt; \"Michael Hartl\"<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"s2\">\"<\/span><span class=\"si\">#{<\/span><span class=\"n\">first_name<\/span><span class=\"si\">}<\/span> <span class=\"si\">#{<\/span><span class=\"n\">last_name<\/span><span class=\"si\">}<\/span><span class=\"s2\">\"<\/span>    <span class=\"c1\"># \u5f0f\u5c55\u958b\u3092\u4f7f\u3063\u3066\u7d50\u5408 (\u4e0a\u3068\u5168\u304f\u540c\u3058)<\/span>\r\n<span class=\"go\">=&gt; \"Michael Hartl\"<\/span><\/strong><\/pre>\n<p>\u6700\u5f8c\u306e2\u3064\u306e\u7d50\u679c\u306f\u3001\u5168\u304f\u540c\u3058\u7d50\u679c(\u7b49\u4fa1\u3068\u3044\u3046)<\/p>\n<p>Ruby\u306f\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u6587\u5b57\u5217\u306e\u4e2d\u3067\u306f\u5f0f\u5c55\u958b\u3092\u884c\u3044\u307e\u305b\u3093\u3002<\/p>\n<pre><strong>&gt;&gt; '#{first_name}'<\/strong>\r\n<strong>=&gt; \"\\#{first_name}\"<\/strong>\r\n<strong>&gt;&gt; \"#{first_name}\"<\/strong>\r\n<strong>=&gt; \"Michael\"<\/strong><\/pre>\n<p>\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c8\u6587\u5b57\u5217\u3092\u7528\u3044\u305f\u6587\u5b57\u5217\u3067#\u306e\u3088\u3046\u306a\u7279\u6b8a\u306a\u6587\u5b57\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\u3001<br \/>\n\u3053\u306e\u6587\u5b57\u3092\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u3067\u30a8\u30b9\u30b1\u30fc\u30d7 (escape) \u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre><strong>&gt;&gt; \"\\#{first_name}\" \u00d7<\/strong>\r\n<strong>=&gt; \"\\#{first_name}\"<\/strong>\r\n<strong>&gt;&gt; \"\\##{first_name}\"\u25cb<\/strong>\r\n<strong>=&gt; \"#Michael\"<\/strong><\/pre>\n<p>\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u306f\u3001\u5165\u529b\u3057\u305f\u6587\u5b57\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u305b\u305a\u306b\u300c\u305d\u306e\u307e\u307e\u300d<br \/>\n\u4fdd\u6301\u3059\u308b\u3068\u304d\u306b\u4fbf\u5229\u3002<br \/>\n\u300c\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u300d\u306e\u6587\u5b57\u306f\u3001\u6539\u884c\u6587\u5b57\\n\u3068\u540c\u69d8\u306b\u591a\u304f\u306e\u30b7\u30b9\u30c6\u30e0\u4e0a\u3067\u3001\u7279\u6b8a\u306a\u6587\u5b57\u3068\u3057\u3066\u6271\u308f\u308c\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u3067\u6587\u5b57\u5217\u3092\u56f2\u3081\u3070\u3001\u7c21\u5358\u306b\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u6587\u5b57\u306e<br \/>\n\u3088\u3046\u306a\u7279\u6b8a\u6587\u5b57\u3092\u305d\u306e\u307e\u307e\u5909\u6570\u306b\u542b\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3002<\/p>\n<pre><strong>&gt;&gt; '\\n'<\/strong>\r\n<strong>=&gt; \"\\\\n\"<\/strong><\/pre>\n<p>#{\u6587\u5b57\u3068\u540c\u69d8\u3001Ruby\u3067\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u305d\u306e\u3082\u306e\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3059\u308b\u5834\u5408\u306f\u3001<br \/>\n\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u304c\u3082\u30461\u3064\u5fc5\u8981\u3067\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c8\u6587\u5b57\u5217\u306e\u4e2d\u3067\u306f\u3001<br \/>\n\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u6587\u5b57\u305d\u306e\u3082\u306e\u306f2\u3064\u306e\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u306b\u3088\u3063\u3066\u8868\u3055\u308c<br \/>\n\u6b21\u306e\u3088\u3046\u306b\u30a8\u30b9\u30b1\u30fc\u30d7\u306e\u5fc5\u8981\u306a\u6587\u5b57\u304c\u5927\u91cf\u306b\u3042\u308b\u5834\u5408\u306b\u306f\u3001<br \/>\n\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u306f\u975e\u5e38\u306b\u4fbf\u5229\u3002<\/p>\n<pre><strong>&gt;&gt; 'Newlines (\\n) and tabs (\\t) both use the backslash<\/strong>\r\n<strong>character \\.'<\/strong>\r\n<strong>=&gt; \"Newlines (\\\\n) and tabs (\\\\t) both use the backslash<\/strong>\r\n<strong>character \\\\.\"<\/strong><\/pre>\n<h2>\u6f14\u7fd2<\/h2>\n<h3>1:city\u5909\u6570\u306b\u9069\u5f53\u306a\u5e02\u533a\u753a\u6751\u3092\u3001prefecture\u5909\u6570\u306b\u9069\u5f53\u306a\u90fd\u9053\u5e9c\u770c\u3092<br \/>\n\u4ee3\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n<pre><strong>city = 'iga'<\/strong>\r\n<strong>prefecture = 'mie'<\/strong><\/pre>\n<h3>2:\u5148\u307b\u3069\u4f5c\u3063\u305f\u5909\u6570\u3068\u5f0f\u5c55\u958b\u3092\u4f7f\u3063\u3066\u3001\u300c\u6771\u4eac\u90fd\u65b0\u5bbf\u533a\u300d\u306e\u3088\u3046\u306a<br \/>\n\u4f4f\u6240\u306e\u6587\u5b57\u5217\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u51fa\u529b\u306b\u306fputs\u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n<pre><strong>\"#{prefecture}\u770c #{city}\u5e02\"<\/strong>\r\n<strong>=&gt; \"mie\u770c iga\u5e02\"<\/strong><\/pre>\n<h3>3:\u4e0a\u8a18\u306e\u6587\u5b57\u5217\u306e\u9593\u306b\u3042\u308b\u534a\u89d2\u30b9\u30da\u30fc\u30b9\u3092\u30bf\u30d6\u306b\u7f6e\u304d\u63db\u3048\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\n(\u30d2\u30f3\u30c8: \u6539\u884c\u6587\u5b57\u3068\u540c\u3058\u3067\u3001\u30bf\u30d6\u3082\u7279\u6b8a\u6587\u5b57\u3067\u3059)<\/h3>\n<pre><strong>puts \"#{prefecture}\u770c \\t #{city}<\/strong>\r\n<strong>mie\u770c iga\u5e02<\/strong><\/pre>\n<h3>4:\u30bf\u30d6\u306b\u7f6e\u304d\u63db\u3048\u305f\u6587\u5b57\u5217\u3092\u3001\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c8\u304b\u3089\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u306b<br \/>\n\u7f6e\u304d\u63db\u3048\u3066\u307f\u308b\u3068\u3069\u3046\u306a\u308b\u3067\u3057\u3087\u3046\u304b?<\/h3>\n<pre><strong>puts '#{prefecture}\u770c \\t #{city}\u5e02'<\/strong>\r\n<strong>#{prefecture}\u770c \\t #{city}\u5e02<\/strong><\/pre>\n<h3><span class=\"number\">4.2.3 <\/span>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u30e1\u30c3\u30bb\u30fc\u30b8\u53d7\u3051\u6e21\u3057<\/h3>\n<p>Ruby\u3067\u306f\u3001\u3042\u3089\u3086\u308b\u3082\u306e\u304c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002\u6587\u5b57\u5217\u3084nil\u3067\u3059\u3089\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u306f (\u3044\u3064\u3044\u304b\u306a\u308b\u5834\u5408\u306b\u3082) \u30e1\u30c3\u30bb\u30fc\u30b8\u306b\u5fdc\u7b54\u3059\u308b\u3082\u306e\u3067\u3059\u3002<\/p>\n<p>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3001\u4f8b\u3048\u3070<strong><code>length<\/code><\/strong>\u3068\u3044\u3046\u30e1\u30c3\u30bb\u30fc\u30b8\u306b\u5fdc\u7b54\u3067\u304d\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u6587\u5b57\u5217\u306e\u6587\u5b57\u6570\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n<pre><strong><span class=\"s2\">\"foobar\"<\/span><span class=\"o\">.<\/span><span class=\"n\">length<\/span>        <span class=\"c1\"># \u6587\u5b57\u5217\u306b \"length\" \u3068\u3044\u3046\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u308b<\/span>\r\n<span class=\"go\">=&gt; 6<\/span><\/strong><\/pre>\n<pre><strong><span class=\"s2\">\"foobar\"<\/span><span class=\"o\">.<\/span><span class=\"n\">empty?<\/span>\r\n<span class=\"go\">=&gt; false<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"s2\">\"\"<\/span><span class=\"o\">.<\/span><span class=\"n\">empty?<\/span>\r\n<span class=\"go\">=&gt; true<\/span><\/strong><\/pre>\n<p><strong>&gt; first_name = &#8220;Michael&#8221; # \u5909\u6570\u306e\u4ee3\u5165<\/strong><br \/>\n<strong>=&gt; &#8220;Michael&#8221;<\/strong><br \/>\n<strong>&gt;&gt; &#8220;#{first_name} Hartl&#8221; # \u6587\u5b57\u5217\u306e\u5f0f\u5c55\u958b<\/strong><br \/>\n<strong>=&gt; &#8220;Michael Hartl&#8221;<\/strong><\/p>\n<p>\u300c!!\u300d(\u300c\u30d0\u30f3\u30d0\u30f3 (bang bang)\u300d\u3068\u8aad\u307f\u307e\u3059) \u3068\u3044\u3046\u6f14\u7b97\u5b50\u3092\u4f7f\u3046\u3068\u3001<br \/>\n\u305d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30922\u56de\u5426\u5b9a\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u306e\u3067\u3001\u3069\u3093\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3082<br \/>\n\u5f37\u5236\u7684\u306b\u8ad6\u7406\u5024\u306b\u5909\u63db\u3067\u304d\u307e\u3059<\/p>\n<pre><strong>!!nil =&gt; false<\/strong><\/pre>\n<p>\u305d\u306e\u4ed6\u306e\u3042\u3089\u3086\u308bRuby\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u3001\u30bc\u30ed\u3067\u3059\u3089true\u3067\u3059\u3002<\/p>\n<pre><strong>&gt;&gt; !!0 =&gt; true<\/strong><\/pre>\n<p>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u6e21\u3055\u308c\u308b\u30e1\u30c3\u30bb\u30fc\u30b8\u306f\u3001\u4e00\u822c\u306b\u306f\u30e1\u30bd\u30c3\u30c9\u3068\u547c\u3070\u308c<br \/>\n\u30e1\u30bd\u30c3\u30c9\u306e\u5b9f\u4f53\u306f\u3001\u305d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u5185\u3067\u5b9a\u7fa9\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u3067\u3059<br \/>\n\u30e1\u30bd\u30c3\u30c9\u3092\u30c1\u30a7\u30fc\u30f3(chain)\u3057\u3066\u6e21\u305b\u307e\u3059\u3002<\/p>\n<pre><strong>nil.to_s.empty? # \u30e1\u30bd\u30c3\u30c9\u30c1\u30a7\u30fc\u30f3\u306e\u4f8b<\/strong>\r\n<strong>=&gt; true<\/strong><\/pre>\n<h4>\u51fa\u529b<\/h4>\n<pre><strong><span class=\"nb\">puts<\/span> <span class=\"s2\">\"foo\"<\/span>     <span class=\"c1\"># \u6587\u5b57\u5217\u3092\u51fa\u529b\u3059\u308b<\/span>\r\n<span class=\"go\">foo<\/span>\r\n<span class=\"go\">=&gt; nil<\/span><\/strong><\/pre>\n<pre><strong><span class=\"nb\">print<\/span> <span class=\"s2\">\"foo\"<\/span>    <span class=\"c1\"># \u6587\u5b57\u5217\u306e\u753b\u9762\u51fa\u529b (puts\u3068\u540c\u3058\u3060\u304c\u6539\u884c\u304c\u306a\u3044)<\/span>\r\n<span class=\"go\">foo=&gt; nil<\/span><\/strong><\/pre>\n<p>\u610f\u56f3\u7684\u306b\u6539\u884c\u3092\u8ffd\u52a0\u3057\u305f\u3044\u3068\u304d\u306f\u3001<br \/>\n\u300c\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5 (<code class=\"inline_verbatim\">\\<\/code>) + n\u300d(\u00a0<code class=\"inline_verbatim\">\\n<\/code>) \u3068\u3044\u3046\u6539\u884c\u6587\u5b57\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<pre><strong><span class=\"nb\">print<\/span> <span class=\"s2\">\"foo<\/span><span class=\"se\">\\n<\/span><span class=\"s2\">\"<\/span>  <span class=\"c1\"># puts \"foo\" \u3068\u7b49\u4fa1<\/span>\r\n<span class=\"go\">foo<\/span>\r\n<span class=\"go\">=&gt; nil<\/span><\/strong><\/pre>\n<h4>\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u5185\u306e\u6587\u5b57\u5217<\/h4>\n<pre><strong><span class=\"s1\">'foo'<\/span>          <span class=\"c1\"># \u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u306e\u6587\u5b57\u5217<\/span>\r\n<span class=\"go\">=&gt; \"foo\"<\/span>\r\n<span class=\"gp\">&gt;&gt; <\/span><span class=\"s1\">'foo'<\/span> <span class=\"o\">+<\/span> <span class=\"s1\">'bar'<\/span>\r\n<span class=\"go\">=&gt; \"foobar\"<\/span><\/strong><\/pre>\n<h4>Ruby\u306f\u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u6587\u5b57\u5217\u306e\u4e2d\u3067\u306f\u5f0f\u5c55\u958b\u3092\u884c\u3044\u307e\u305b\u3093\u3002<\/h4>\n<pre><strong><span class=\"s1\">'#{foo} bar'<\/span>     <span class=\"c1\"># \u30b7\u30f3\u30b0\u30eb\u30af\u30a9\u30fc\u30c8\u5185\u306e\u6587\u5b57\u5217\u3067\u306f\u5f0f\u5c55\u958b\u304c\u3067\u304d\u306a\u3044<\/span>\r\n<span class=\"go\">=&gt; \"\\#{foo} bar\"<\/span><\/strong><\/pre>\n<p><code>#<\/code>\u306e\u3088\u3046\u306a\u7279\u6b8a\u306a\u6587\u5b57\u3092\u4f7f\u3044\u305f\u3044\u5834\u5408\u306f\u3001\u3053\u306e\u6587\u5b57\u3092\u30d0\u30c3\u30af\u30b9\u30e9\u30c3\u30b7\u30e5\u3067\u30a8\u30b9\u30b1\u30fc\u30d7 <strong>(escape)\u00a0<\/strong><\/p>\n<h2>\u6f14\u7fd2<\/h2>\n<h3>1:&#8221;racecar&#8221; \u306e\u6587\u5b57\u5217\u306e\u9577\u3055\u306f\u3044\u304f\u3064\u3067\u3059\u304b? length\u30e1\u30bd\u30c3\u30c9\u3092<br \/>\n\u4f7f\u3063\u3066\u8abf\u3079\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n<pre><strong>\"racecar\".length =&gt; 7<\/strong><\/pre>\n<h3>2:reverse\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3063\u3066\u3001&#8221;racecar&#8221;\u306e\u6587\u5b57\u5217\u3092\u9006\u304b\u3089\u8aad\u3080\u3068<br \/>\n\u3069\u3046\u306a\u308b\u304b\u8abf\u3079\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n<pre><strong>\"racecar\".reverse =&gt; \"racecar\"<\/strong><\/pre>\n<h3>3:\u5909\u6570s\u306b &#8220;racecar&#8221; \u3092\u4ee3\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u306e\u5f8c\u3001\u6bd4\u8f03\u6f14\u7b97\u5b50 (==)<br \/>\n\u3092\u4f7f\u3063\u3066\u5909\u6570s\u3068s.reverse\u306e\u5024\u304c\u540c\u3058\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3001\u8abf\u3079\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n<pre><strong>&gt;&gt; s = \"racecar\" =&gt; \"racecar\"<\/strong>\r\n<strong>&gt;&gt; s == s.reverse =&gt; true<\/strong><\/pre>\n<h3>4:puts &#8220;It&#8217;s a palindrome!&#8221; if s == s.reverse\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u3069\u3093\u306a\u7d50\u679c\u306b\u306a\u308b\u3067\u3057\u3087\u3046\u304b?<br \/>\n\u5909\u6570s\u306b &#8220;onomatopoeia&#8221; \u3068\u3044\u3046\u6587\u5b57\u5217\u3092\u4ee3\u5165\u3059\u308b\u3068\u3069\u3046\u306a\u308b\u3067\u3057\u3087\u3046\u304b?<\/h3>\n<pre><strong>puts \"It's a palindrome!\" if s == s.reverse<\/strong>\r\n<strong>It's a palindrome! =&gt; nil<\/strong>\r\n\r\n<strong>s = \"onomatopoeia\" =&gt; \"onomatopoeia\"<\/strong>\r\n\r\n<strong>puts \"It's a palindrome!\" if s == s.reverse<\/strong>\r\n<strong>=&gt; nil<\/strong>\r\n\r\n<strong>def string_message(str = '')<\/strong>\r\n<strong>  if str.empty?<\/strong>\r\n<strong>    \"It's an empty string!\"<\/strong>\r\n<strong>  else<\/strong>\r\n<strong>    \"The string is nonempty.\"<\/strong>\r\n<strong>  end<\/strong>\r\n<strong>end<\/strong>\r\n<strong>:string_message<\/strong>\r\n<strong>puts string_message<\/strong>\r\n<strong>It's an empty string!<\/strong><\/pre>\n<p>puts string_message\u306e\u3088\u3046\u306b\u30e1\u30bd\u30c3\u30c9\u306e\u5f15\u6570\u3092\u7701\u7565\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059(\u30ab\u30c3\u30b3\u3067\u3059\u3089\u7701\u7565\u53ef\u80fd)\u3002<\/p>\n<pre><strong>def string_message(str = '')<\/strong><\/pre>\n<p>\u5f15\u6570\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u542b\u3081\u3066\u3044\u308b\u304b\u3089\u3067<br \/>\n\u5f15\u6570\u3092\u6e21\u3055\u306a\u3044\u5834\u5408\u306f\u3001\u6307\u5b9a\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u304c\u81ea\u52d5\u7684\u306b\u4f7f\u308f\u308c\u308b\u307e\u3059\u3002<\/p>\n<p>Ruby\u306e\u30e1\u30bd\u30c3\u30c9\u306b\u306f\u300c\u6697\u9ed9\u306e\u623b\u308a\u5024\u304c\u3042\u308b\u300d\u3053\u3068\u306b\u6ce8\u610f\u3002\u3053\u308c\u306f\u3001<br \/>\n\u30e1\u30bd\u30c3\u30c9\u5185\u3067\u6700\u5f8c\u306b\u8a55\u4fa1\u3055\u308c\u305f\u5f0f\u306e\u5024\u304c\u81ea\u52d5\u7684\u306b\u8fd4\u3055\u308c\u308b\u3053\u3068\u3092\u610f\u5473\u3059\u308b<br \/>\n(\u30e1\u30bd\u30c3\u30c9\u3067\u623b\u308a\u5024\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3057\u306a\u304b\u3063\u305f\u5834\u5408\u306e\u52d5\u4f5c)<\/p>\n<p>\u30e1\u30bd\u30c3\u30c9\u3067\u5f15\u6570\u306e\u5909\u6570\u540d\u306b\u3069\u3093\u306a\u540d\u524d\u3092\u4f7f\u3063\u3066\u3082\u3001\u30e1\u30bd\u30c3\u30c9\u306e\u547c\u3073\u51fa\u3057\u5074\u306b\u306f<br \/>\n\u4f55\u306e\u5f71\u97ff\u3082\u751f\u3058\u306a\u3044\u3068\u3044\u3046\u70b9\u306b\u3082\u3054\u6ce8\u76ee\u304f\u3060\u3055\u3044\u3002\u3064\u307e\u308a\u3001\u6700\u521d\u306e\u4f8b\u306estr\u3092<br \/>\n\u5225\u306e\u5909\u6570\u540d (the_function_argument\u306a\u3069) \u306b\u5909\u66f4\u3057\u3066\u3082\u3001<br \/>\n\u30e1\u30bd\u30c3\u30c9\u306e\u547c\u3073\u51fa\u3057\u65b9\u306f\u5168\u304f\u540c\u3058\u3067\u3059<\/p>\n<pre><strong>&gt;&gt; def string_message(the_function_argument = '')<\/strong>\r\n<strong>&gt;&gt; if the_function_argument.empty?<\/strong>\r\n<strong>&gt;&gt; \"It's an empty string!\"<\/strong>\r\n<strong>&gt;&gt; else<\/strong>\r\n<strong>&gt;&gt; \"The string is nonempty.\"<\/strong>\r\n<strong>&gt;&gt; end<\/strong>\r\n<strong>&gt;&gt; end<\/strong>\r\n<strong>=&gt; :string_message<\/strong>\r\n<strong>&gt;&gt; puts string_message(\"\")<\/strong>\r\n<strong>It's an empty string!<\/strong>\r\n<strong>&gt;&gt; puts string_message(\"foobar\")<\/strong>\r\n<strong>The string is nonempty.<\/strong><\/pre>\n<h2>\u6f14\u7fd2<\/h2>\n<h3>1:FILL_IN\u306e\u90e8\u5206\u3092\u9069\u5207\u306a\u30b3\u30fc\u30c9\u306b\u7f6e\u304d\u63db\u3048\u3001\u56de\u6587\u304b\u3069\u3046\u304b\u3092<br \/>\n\u30c1\u30a7\u30c3\u30af\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u5b9a\u7fa9\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/h3>\n<pre><strong>def palindrome_tester(s)<\/strong>\r\n<strong>  if FILL_IN<\/strong>\r\n<strong>    puts \"It's a palindrome!\"<\/strong>\r\n<strong>  else<\/strong>\r\n<strong>    puts \"It's not a palindrome.\"<\/strong>\r\n<strong>  end<\/strong>\r\n<strong>end<\/strong><\/pre>\n<p><strong>FILL_IN s == s.reverse<\/strong><\/p>\n<h3>2:\u4e0a\u3067\u5b9a\u7fa9\u3057\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3063\u3066 \u201cracecar\u201d \u3068 \u201conomatopoeia\u201d \u304c\u56de\u6587\u304b<br \/>\n\u3069\u3046\u304b\u3092\u78ba\u304b\u3081\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002\uff11\u3064\u76ee\u306f\u56de\u6587\u3067\u3042\u308b\u3001\uff12\u3064\u76ee\u306f\u56de\u6587\u3067\u306a\u3044\u3001<br \/>\n\u3068\u3044\u3046\u7d50\u679c\u306b\u306a\u308c\u3070\u6210\u529f\u3067\u3059\u3002<\/h3>\n<pre><strong>&gt;&gt;palindrome_tester(\"racecar\")<\/strong>\r\n<strong>=&gt;It's a palindrome! =&gt; nil<\/strong>\r\n\r\n<strong>&gt;&gt;palindrome_tester(\"onomatopoeia\")<\/strong>\r\n<strong>=&gt;It's not a palindrome. =&gt; nil<\/strong><\/pre>\n<h3>3:palindrome_tester(&#8220;racecar&#8221;)\u306b\u5bfe\u3057\u3066nil?\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3073\u51fa\u3057\u3001<br \/>\n\u623b\u308a\u5024\u304cnil\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044<\/h3>\n<pre><strong>def palindrome_tester(s) def palindrome_tester(s = '')<\/strong>\r\n<strong>  if s == s.reverse<\/strong>\r\n<strong>   puts \"It's a palindrome!\"\r\n<\/strong><strong>    else<\/strong>\r\n<strong>   puts \"It's not a palindrome.\"\r\n<\/strong><strong>    end<\/strong>\r\n<strong> end<\/strong>\r\n<strong>:palindrome_tester<\/strong>\r\n<strong>puts palindrome_tester('racecar')<\/strong><\/pre>\n<p>\u4e0b\u3067\u3082OK<\/p>\n<pre><strong>def palindrome_tester(s = 'racecar')<\/strong>\r\n<strong>  if s == s.reverse<\/strong>\r\n<strong>    puts \"It's a palindrome!\"<\/strong>\r\n<strong>  else<\/strong>\r\n<strong>    puts \"It's not a palindrome.\"<\/strong>\r\n<strong>  end<\/strong>\r\n<strong>end<\/strong>\r\n<strong>\r\n:palindrome_tester<\/strong>\r\n<strong>palindrome_tester.nil?<\/strong><\/pre>\n<p>()\u304c\u306a\u3044\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u8a2d\u5b9a\u3057\u305f\u3082\u306e(1\u884c\u76ee)\u304c\u5f15\u6570\u306b\u3042\u308b\u306e\u3067<\/p>\n<p><strong>module ApplicationHelper<\/strong><\/p>\n<div class=\"heading\"><span class=\"description\">\u00a0<code class=\"filepath\">app\/helpers\/application_helper.rb<\/code><\/span><\/div>\n<p>&nbsp;<\/p>\n<pre><strong><span class=\"k\">module<\/span> <span class=\"nn\">ApplicationHelper\r\n# \u30da\u30fc\u30b8\u3054\u3068\u306e\u5b8c\u5168\u306a\u30bf\u30a4\u30c8\u30eb\u3092\u8fd4\u3057\u307e\u3059\u3002 # \u30b3\u30e1\u30f3\u30c8\u884c<\/span> \r\n# \u30e1\u30bd\u30c3\u30c9\u5b9a\u7fa9\u3068\u30aa\u30d7\u30b7\u30e7\u30f3\u5f15\u6570<\/strong>\r\n<strong>def full_title(page_title = '') \r\n<\/strong><strong># \u5909\u6570\u3092\u4ee3\u5165\u3057\u3066\u3044\u308b\u3088<\/strong>\r\n<strong>  base_title = \"Ruby on Rails Tutorial Sample App\" \r\n# \u8ad6\u7406\u5024\u30c6\u30b9\u30c8<\/strong>\r\n<strong>   if page_title.empty? <\/strong>\r\n<strong># \u6697\u9ed9\u306e\u623b\u308a\u5024    \r\n    base_title <\/strong>\r\n<strong>   else<\/strong>\r\n<strong>  page_title + \" | \" + base_title # \u6587\u5b57\u5217\u306e\u7d50\u5408<\/strong>\r\n<strong>   end<\/strong>\r\n<strong> end<\/strong>\r\n<strong>end<\/strong><\/pre>\n<p>\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u3001\u95a2\u9023\u3057\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u307e\u3068\u3081\u308b\u65b9\u6cd5\u306e\uff11\u3064\u3067\u3001<br \/>\n\u203binclude\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u3063\u3066\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u308b\u3088<br \/>\n(\u30df\u30c3\u30af\u30b9\u30a4\u30f3 (mixed in) \u3068\u3082\u547c\u3076<br \/>\nRails\u3067\u306f\u81ea\u52d5\u7684\u306b\u30d8\u30eb\u30d1\u30fc\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8aad\u307f\u8fbc\u3093\u3067\u304f\u308c\u308b\u306e\u3067\u3001<br \/>\ninclude\u884c\u3092\u308f\u3056\u308f\u3056\u66f8\u304f\u5fc5\u8981\u304c\u306a\u3044\u3002<br \/>\n\u3064\u307e\u308a\u3001\u3053\u306efull_title\u30e1\u30bd\u30c3\u30c9\u306f\u81ea\u52d5\u7684\u306b\u3059\u3079\u3066\u306e\u30d3\u30e5\u30fc\u3067<br \/>\n\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3002<\/p>\n<p><a href=\"https:\/\/suzutukiblog.com\/index.php\/2021\/04\/24\/rails-tutorial4-5\/\">4.5\u306b\u7d9a\u304d\u307e\u3059<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u305d\u306e\uff13\u304b\u3089\u7d9a\u304f 4\u7ae0Rails\u98a8\u5473\u306eRuby 4.1.1\u00a0\u7d44\u307f\u8fbc\u307f\u30d8\u30eb\u30d1\u30fc \u30b5\u30f3\u30d7\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ec\u30a4\u30a2\u30a6\u30c8 app\/views\/layouts\/application.html.erb &lt;!DOCTYPE h [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2764,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[27,13],"tags":[],"class_list":["post-2885","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programming-note","category-rails"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2885","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=2885"}],"version-history":[{"count":21,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2885\/revisions"}],"predecessor-version":[{"id":4524,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2885\/revisions\/4524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/media\/2764"}],"wp:attachment":[{"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=2885"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=2885"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/suzutukiblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=2885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}