rails今回はまたまたRubyの話。railsであつかっているRubyのお話です。私が今回やりたかったのは、結構前に書いたAPIに関連して、APIを叩く関数に渡す引数の値によって、クエリストリングを分岐させたかったというわけです。0という引数を渡すと今日のアクセス数、1を渡すと訪問者数、2を渡すと月のアクセス数、といった具合にです。If文で分岐できない!?私が書いたコードが以下のような感じです。一部抜粋ですが、if文を使って分岐していることがわかると思います。end@dataには分岐条件の引数が入っています。0の時と1の時でifとelseifを使い分岐をしているというわけです。間違いがないように見えますが、これではうまく分岐されず、エラーも出たり出なかったり、なんだかよくわからないことになって2時間くらいはまってしまいました。CやPython、Javaをやっていた人は特に注意うまくいかない理由は、構文にありました。他のプログラミング言語をがっつりやっていたので、Rubyのif文も構文は一緒だろうと思い込んでいたのが間違いでした。Rubyで分岐を書きたいときは、以下のように書くのが正解です。endぱっと見違いがわからないかもしれませんが、最初に書いていた私の分岐では、エルスイフの部分を「elseif」と書いているにに対し、正しい書き方は「elsif」なのです。「e」が一ついらないようになっているのです。これはRuby独特の描き方らしいのですが、細かいがゆえになかなか気づけず大変でした。同じような人がいたら確認してみてください。まとめ今回はif文でハマってしまった体験談でした。今後はリファレンスの細かいところにも注意して読みたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。Themeisle.。