give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

Qiitaに「ド・モルガンの法則でunlessのややこしい条件をifに読み替えよう」という記事を書きました

お知らせ

昨日Qiitaに「ド・モルガンの法則でunlessのややこしい条件をifに読み替えよう」という記事を投稿しました。

Ruby - ド・モルガンの法則でunlessのややこしい条件をifに読み替えよう - Qiita
f:id:JunichiIto:20140828063642p:plain:w500

「ifならまだわかるけど、unlessで複数の条件を組み合わされると苦手」という方が読むと、きっと参考になると思います。

執筆裏話

「ド・モルガンの法則」って確か高校数学で習うやつだったと思います。
「AかつB」が真なら「Aでない、またはBでない」も真、みたいなやつです。


って、高校のときは大の苦手だった数学の話を持ち出してますが、最初からド・モルガンの法則を使おうと思っていたわけではありません。
もともとは単純に

say_hello unless person.married? && !person.rich?

みたいなコードに出くわしたときに、真になる条件がぱっとわからなかったので、それを理解する方法を考えていただけです。


で、あれこれ調べているうちに「あ、これってつまりド・モルガンの法則か」となって、いつの間にかド・モルガンの法則がメインになっちゃいました。


先日、「「それなりに勉強、勉強、と言われていたおかげで、いま幸せです」というお話」というエントリを書きましたが、これまた学生時代にやっていた勉強がちょっと役に立ちました。


「数学イヤや~。数学おもんない~。こんなんやったって絶対将来使わへん~!」と四六時中ボヤいてた当時の自分に耳打ちしてやりたい気分ですw

数式はWordで作りました

ちなみに記事の中で使っている数式はWordで作りました。
僕が使っているのはちょっと昔のMac版 Word 2007ですが、こんな感じで数式を作れます。

1. ファイルメニュー > 挿入 > フィールド
f:id:JunichiIto:20140828065422j:plain:w400

2. 「eq \x\to(\x\to(A)∩\x\to(B))」みたいな数式を入力
f:id:JunichiIto:20140828065432p:plain

3. できあがり
f:id:JunichiIto:20140828065442p:plain:w200


あとはWord文書をPDF出力して、スクリーンショットから使いたい部分を切り抜きました。


数式についてですが、否定を表す場合は「\x\to( ... )」みたいに書きます。
否定でなければ単純に「eq A ∪ B」のような式を入力すればOKです。

祝・5000 Contribution突破!

そして昨日ついに5000 Contributionを突破しました!

jnchito - Qiita
f:id:JunichiIto:20140828072241p:plain:w250

Contributionって何かっていうと、自分の書いた記事が獲得したストック数の合計です。


で、ストックは何かって言うと、Qiitaの記事を読んだ人が「素晴らしい、あとで見返したい、残しておきたい」と思ったときに使う機能のことです。


つまり簡単に言うと「Contribution = 自分の書いた記事が役に立つと思われた件数」ですね。


5000はキリのいい数字なので、早く超えたいな~と思っていました。


今後もみなさんの役に立ちそうなネタがあれば投稿していきますんで、Qiitaユーザーの方は良かったらフォローしてやってください。

jnchito - Qiita


まとめ

というわけで、今回はQiitaに投稿した「ド・モルガンの法則でunlessのややこしい条件をifに読み替えよう」という記事を紹介しました。
論理式が苦手なプログラマのみなさんはぜひ読んでみてくださいね!!

Ruby - ド・モルガンの法則でunlessのややこしい条件をifに読み替えよう - Qiita