集中力なら売り切れたよ

プログラミングや、将棋などについて書きます。

Rubyでnilだったら代入するイディオム

他の言語ではあまり見かけませんが、左辺がnilだったら代入し、nilでなければ代入しない式として以下のものがよく使われているようです。

a ||= "abc"
# つまりこういうこと?
a = a || "abc"
# ifを使うならこうなる?
a = "abc" if a.nil?

個人的には暗号めいたように感じたのですが、そのうち慣れるのでしょうかね。

Rubyで開発するときは冗長モードを有効にするほうがよい

コマンドラインでの実行時に-wオプションをつけるとコンパイル時、実行時の警告を出してくれる。具体的には使っていないローカル変数などがあれば警告してくれる。デフォルトでは警告は出ない。いちいち指定するのが面倒な場合はRUBYOPT環境変数に-wをセットすると良い。

def main()
  a = 1 # 使っていない変数
  b = 2
  c = 3
  puts b + c
end

if __FILE__ == $PROGRAM_NAME
  main()
end

> ruby -w main.rb
main.rb:2: warning: assigned but unused variable - a
5

参考書籍

Effective Ruby

Effective Ruby

Windows 10で環境変数のPATHを設定する方法

Windowsキー+X」でメニューを呼び出し、「システム」を選択します。

「システムの詳細設定」を選択します。

環境変数」を選択します。

「PATH」という項目を編集します。

ZenFone 3 Laserを買ってgoo g06と2台持ちにしました

タイトル通り、ZenFone 3 Laser(ZC551KL)を購入しました。

ネットで見た限りではgoo g07(5.5インチ フルHD)は、安いですが、画面下にボタンがなくオンスクリーンキーで使える画面が狭くなってしまうので自分には合わないと思ってやめました。また、前世代のZenFone 2 Laser(5インチ HD)を使った経験があり、独自UIのZenUIの使い心地が良かったのも理由で、ヨドバシカメラで実機を確認してゴールドの色の質感や操作性が良いことを確認でき、その場で買えたので買いました。goo g07との約10,000円の値段差は質感とメモリ量やカメラ性能の差として納得できるものでした。

今まで使っていたgoo g06(4インチ 480x800)はOCNモバイルONEの通話SIMを入れて通話とテザリング専用にして、ZenFone 3 Laserは0simデータ通信SMSなしを入れて基本的にWi-Fiで使う無料運用をしています。通話するには5.5インチはやっぱり大きいですからね。

買った気づいたのですが、意外と5.5インチフルHDと並べて比べてもgoo g06(4インチ 480x800)のディスプレイの文字はそんなに汚くはありません。CPU-Zというアプリで確認すると5.5インチ 1080x1920は403ppiで、4インチ 480x800は240ppiなのですが、人間の目にはそれ以上細かくなっても、あまり差を感じないのかもしれません。動画などを見るなら5.5インチのほうがいいですが、携帯性では4インチに分があります。ガジェット好きなので、2台持ちは苦になりません。

gooのスマホ g06 + 選べるOCNモバイルONEセット 【送料無料】 | gooSimseller

ZenFone 3 Laser (ZC551KL) | スマートフォン | ASUS 日本

gooのスマホ「g06」がパソコンでUSB認識されなくなった際の解決法

Windows 10 Home環境で、gooのスマホ「g06」CP-L43s-AbをUSB接続して「ファイル転送(MTP)」を選択してもデバイスマネージャーで正常に認識されず、ファイルの転送ができず困りました。

以下のようなメッセージが表示されました。

このデバイスは正しく構成されていません。 (コード 1)
この INF のサービス インストール セクションは無効です。
このデバイス用のドライバーを検索するには、[ドライバーの更新] をクリックしてください。

ここでドライバーの更新をクリックしても以下のようなエラーが発生してしまいました。

バイス用のドライバーソフトウェアが見つかりましたが、このドライバーのインストール時にエラーが発生しました。

新機種なのでエラーの情報を探してもなかなか見つからず、とても困りました。しかし、以下のリンクが参考になりました。

FTJ152AというAndroidでMTPが認識しないトラブルの解決方法 - カグア!Googleアナリティクス解説Blog

解決策

自動でドライバのインストールを選択するのではなく、手動で選択する。

「コンピュータを参照してドライバーソフトウェアを検索します」を選択する。

「コンピュータ上のデバイスドライバーの一覧から選択します」を選択する。

互換性のあるハードウェアを表示のチェックを外す。

標準のMTPデバイス、MTP USBデバイスを選択し、次へをクリックする。

正常にドライバーがインストールされ、Windows 10 Homeのエクスプローラでアクセスできるようになります。一度インストールに成功すれば、あとは再接続しても問題ないようです。