tag:crieit.net,2005:https://crieit.net/tags/%E4%B8%89%E9%A0%85%E6%BC%94%E7%AE%97%E5%AD%90/feed 「三項演算子」の記事 - Crieit Crieitでタグ「三項演算子」に投稿された最近の記事 2019-04-26T23:36:25+09:00 https://crieit.net/tags/%E4%B8%89%E9%A0%85%E6%BC%94%E7%AE%97%E5%AD%90/feed tag:crieit.net,2005:PublicArticle/14806 2019-02-17T20:26:45+09:00 2019-04-26T23:36:25+09:00 https://crieit.net/posts/2a4b0703c5a2b984205edb23497fcecd 三項演算子って初見殺しだよなって話 <p>別に、巷でよくある「三項演算子使え・使うな論争」ではなくて。<br /> 単純に「三項演算子って初見殺しだよな」っていう感想であって、<br /> それ以上でもそれ以下でもないです。</p> <h1 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h1> <p>もし、以下のような検索でここにたどり着いた人<br /> + C# ? :<br /> + PHP はてな コロン<br /> + Javascript クエスチョン コロン</p> <p>君の探しているものはこれだよね?</p> <pre><code>string hoge = fuga ? piyo : piyopiyo </code></pre> <p>これは、「三項演算子」って言います。  <br /> 三項演算子って何? っていうのは、「三項演算子」でググり直してね。<br /> 残念ながらこの記事には説明はないよ。ごめんね。</p> <h1 id="というわけで"><a href="#%E3%81%A8%E3%81%84%E3%81%86%E3%82%8F%E3%81%91%E3%81%A7">というわけで</a></h1> <p>三項演算子って初見殺しというか、初心者に優しくないよなーと。<br /> いくつか理由をば。</p> <h2 id="入門書に載ってない"><a href="#%E5%85%A5%E9%96%80%E6%9B%B8%E3%81%AB%E8%BC%89%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%84">入門書に載ってない</a></h2> <p>いや、載ってるかもしれないけど。<br /> だいたい、ifとかswitchは載ってるけど、三項演算子は載ってないイメージ。<br /> (そもそも三項演算子は演算子であって、文であるifやswitchとは違う云々とかはとりあえず置いておく)<br /> というか入門書読んでるレベルの初心者は三項演算子の説明があってもスルーすると思う。</p> <h2 id="検索しにくい"><a href="#%E6%A4%9C%E7%B4%A2%E3%81%97%E3%81%AB%E3%81%8F%E3%81%84">検索しにくい</a></h2> <p>ということで三項演算子を学ばなかった初心者くん。<br /> (入社・配属とか色々あって)他人のソースを見る機会を得て、初めて三項演算子に出会います。</p> <p>「え、何、これ?」</p> <p>わからないことはとりあえずググりましょう。</p> <pre><code>C# ? : </code></pre> <p>oh...<br /> ダメです。それじゃあ「C Sharp - ウィキペディア」みたいな検索結果しか出ませんね。<br /> googleで記号を検索するのは難しいですね。</p> <p>シングルクォーテーションで囲えって? それができれば初心者やってないよ!</p> <p>日本語に直せって? それがで(ry<br /> いや、日本語にするのは少し考えればわかるんですけどね。状況によってはテンパってて愚直に記号で検索して出てこなくて余計にテンパったりするんですよね。初心者だし。</p> <h2 id="そんなことも知らないの恐怖症"><a href="#%E3%81%9D%E3%82%93%E3%81%AA%E3%81%93%E3%81%A8%E3%82%82%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%84%E3%81%AE%E6%81%90%E6%80%96%E7%97%87">そんなことも知らないの恐怖症</a></h2> <p>じゃあ、先輩に聞けよって話になると思うんですけどね。<br /> 聞きづらいじゃないですか、散々「そんなことも知らないの?」って言われ続けてるんですから。<br /> 初心者は「そんなことも知らないの? なこと」と「それは知らなくても仕方ないね、なこと」の区別って難しいじゃないですか。<br /> (三項演算子ってどっちだろう?)</p> <p>ってことで、「それを今わからないと困るのか」ということを悩んだ結果、後回しにする、という結論になることも。(数年前の僕ですね)</p> <h1 id="とにかく答えに辿り着きづらい"><a href="#%E3%81%A8%E3%81%AB%E3%81%8B%E3%81%8F%E7%AD%94%E3%81%88%E3%81%AB%E8%BE%BF%E3%82%8A%E7%9D%80%E3%81%8D%E3%81%A5%E3%82%89%E3%81%84">とにかく答えに辿り着きづらい</a></h1> <p>一応、無理やり理由を3つひねり出してみましたけど、個人的には、<br /> <strong>ググりにくい</strong><br /> これに尽きると思うんですよね。<br /> まあ、三項演算子に限ったことじゃなくて、PHPのアロー演算子とか、<strong>記号で検索せざるを得ない</strong>ものって答えに辿り着きにくいと思うのです。</p> <p>それの対応ってなかなか難しくて<strong>検索の仕方の経験値を上げる</strong>しかないのかなーと。<br /> どうにかなんないかなー。</p> <h1 id="結論"><a href="#%E7%B5%90%E8%AB%96">結論</a></h1> <p>ないよそんなもん。<br /> ただの感想だって最初に言ったじゃん。</p> <h1 id="HELP!"><a href="#HELP%21">HELP!</a></h1> <p>マークダウン詳しくないんでけど、<br /> リストがうまく作れないのと、<br /> C#の#が見出し認定されるみたいで目次に出ちゃうんですけど、どうすればいいですか? 誰か教えて。</p> hammhiko