===
を使ったりするのかもしれないけど、いざ自分で JavaScriptを書くと、===
の使い所がなくて困る。つまり、異なる型の変数を比較する場面というのが想定されていないから、それに対処する理由がない。型が同じなら(※null
は型ナシとする) ==
も ===
も同じなのだから、あえて ===
を使おうという動機がない。予定調和を乱すもの、外部入力は全部文字列だし、あるとしたら JSONくらい? だとしてもおかしな値の混入は水際で食い止めるべきで、比較演算子の出る幕(実際の利用場面)ではない。■あえてクソを探すなら、変数の型指定が(省略できるのではなく)できないことだろう。そこは JavaScript派生言語が補完しているところ。■ネタの方を拾おうにもマジレスしかできない。三位のひとつが "\t"
なんだけど、だったら " "
がどこからか現れて「俺が神だ」と主張し始めるだろう。最終更新: 2016-11-21T21:59+0900
try { var {y:lat, x:lng} = Map.getCenterLatLng(), mag = Map.getZoomLevel(); open(`https://www.google.co.jp/maps/@${lat},${lng},${mag}z`); } catch(e) {}
javascript:try{var{y:lat,x:lng}=Map.getCenterLatLng(),mag=Map.getZoomLevel();open(`https://www.google.co.jp/maps/@${lat},${lng},${mag}z`);}catch(e){}
以前に感じた通り、分割代入の構文は左辺の key と value が入れ違ってるとしか思えなくて(※)、案の定書き間違えたのだった。
※ keyは識別子(または文字列)で valueは expressionなのだから、keyで新しい名前を導入し、valueを特別な文脈で評価することで右辺のプロパティが参照できると考える(でも間違い)。これは JavaScriptの「平板」化ですよ>20091206p02.04。言語設計者は神だけど、現実世界の神がアドホックな物理法則を定めていたら、こちらは気が狂います。
マピオンはリンクをたどって特定の番地を表示できるのでメインで使用してる。検索ベースだと存在しない番地に対してテキトーな場所を表示されてもわからない一方、リンクをたどる方式ではそれを承知したうえで近くの番地から推測することができる。
とはいえ航空写真やストリートビューで実地の景色も確認したいので、マピオンからグーグルマップへ飛ぶ。
最終更新: 2016-10-26T21:06+0900
デイトナ(Daytona) バイク専用電源2.1A USB(5V / 2.1A)2ポート 93040
デイトナ(Daytona)
¥ 2,103
デイトナ(Daytona) AQUAPROVA(アクアプローバ)コンパクト ボルトメーター92386
デイトナ(Daytona)
¥ 2,960
USBポートの配線はバッテリー接続用のプラスとマイナスの2本(丸形端子)のみ。ボルトメーターの配線は3本あって、測定対象に並列に接続するためのプラスとマイナスの2本(クワ型端子)と、メーター電源用の1本(ただの細線)。メーター電源のマイナスは測定用と兼用ってことなの?
いわゆるバッ直(たぶんバッテリー直結の略)だとボルトメーターがつきっぱなしになるし、USBポートも電圧を 12Vから 5Vに変換しつづける(らしい)ので、多少面倒でもアクセサリ電源を確保する。
アースとかボディアースとか言われてもわからないのでマイナス線はすべてバッテリーのマイナスにつなぐ。電圧測定用の線もバッテリーにつなぐ。なので一番紹介例が多くて手軽なヒューズ電源は使わないで、端子をすべてバッテリー周辺に集めアクセサリ電源もそこで探す。ハンドル周りで完結するなら、ホーンと予備冷却水の上にあるヒューズボックスからアクセサリ電源を取るのは魅力的だけど。
ヒューズ。FUSEならフューズって書きたい。バック・トゥ・ザ・ヒューチャー?
ボルトメーターにはカニとかエレクトロタップとか呼ばれるらしい、既存の配線を分岐させるコネクタが付いてきているので、たとえば 20150724p01 ですでにぶった切ってねじって繋いでテープでぐるぐる巻きにしたナンバー灯の配線(※茶色+黒色の線と青色+黒色の線が黄色のコネクタで接続しているのが目印。もちろん WR250Rの話)なら傷つけるのに躊躇がないし、万一切れてもナンバー灯なら全然気にならないので(※ナンバー灯だけで済むのかはわからない。同じ 7.5Aのヒューズを共有するすべてが死ぬなんてことがあるのかもしれないけど、無知ゆえに対処法どころか何をおそれたらいいのかもわからない)、考えるのは USBの電源。説明書を見てもバッ直しか想定してない。
安易なのはカニさんを2つ並べること。でもアクセサリ電源は電圧が安定しなくてスマホに悪影響を与えることがあるというし(USBメモリみたいに単純なものだって仮に電源がオンオフを繰り返したら中身が消えそう)、使いすぎると割り込んだ配線のヒューズ容量を超える心配が出てくるという。たとえば2口USBは 2.1Aまで対応したタイプ(※1Aタイプもある。500mA×2 でこれが普通)だし、5Aのヒューズが配線に組み込まれている。(参考) ボルトメーターは最大 50mAを消費し、ヒューズはなし。
ここで、なぜか第3の機器を接続することを考えてしまう。なぜだろう(そこ、YAGNIって言わない)。カニを3つ並べるのはスペースが厳しいし、カニさんの評判ってあまり良くないし(※実際ダメでした。被覆を自分で剝いてやっと通電した。バイクは振動するっていうのに断続的にオンオフしそうで信用ならない)、今回は大丈夫だったけど次はヒューズの容量をオーバーするかもしれないし、これは肥大化し複雑化し破綻する良くない設計なんではないか。
カニは既存配線からアクセサリ電源を取るために1か所だけ使い、それはリレーの入力とする(※電源としてではなく信号としてコイルに流れる方の入力)。増設機器(USBポート, ボルトメーター, その他)はリレーを介してバッテリーから電源を取る。
お絵かきが難しかったので文字で。エーモン コンパクトリレーを中心に考える。アマゾンの一番人気は「エーモン リレー 4極 DC12V車専用 20A 1245」だけどこれにしなかったのは、単純にサイズが大きいのと、20Aという許容値が不必要に大きいのと、コイルの消費電流が 150mAとコンパクトリレーの3倍大きいのを嫌ったから。値段はコンパクトリレーの方が倍近く高かったんだけど、今日になってアマゾンがわずか 100円高で売ってる。500円損した悔しい。時間を買ったと思って慰めにする。
リレーの青線(プラス)・黒線(マイナス)はコイル(46mAを消費)に繋がっており、増設機器の電源電流となる黄線↔赤線、白線↔赤線の流れを切り替えるきっかけを作る。黒線はバッテリーのマイナスへ。青線は圧着接続端子で 0.5Aのヒューズとつなぎ(※コンパクトリレーの台紙指示通り)、ヒューズのもう一方の線をカニでナンバー灯の茶色線へ。ナンバー灯はバイクのメインスイッチに連動して点灯するので、メインスイッチに連動してリレーが作動することになる。
メインスイッチがオンになりコイルに電流が流れたときにつながるのがリレーの黄線↔赤線のライン。メインスイッチがオフのときに赤線とつながる白線は使わないので絶縁処理する。
絶縁するって簡単に言うけど、実際にどうしますか? ビニールテープ? ダクトテープ? アルミテープは名前からしてだめだよね。ビニールテープやダクトテープはねばねばするのが嫌だったんだけど(だから「のり残りが少ないタイプ」という商品がある)、今回初めて知ったのが自己融着テープと呼ばれるもの。粘着材が使われておらずテープとテープ自身がくっつく。ブチル系とシリコン系があり、どちらも防水と絶縁に使える。シリコン系の方が耐熱温度が高いが値段も高い。比較的安いのがブチル系の中でも剥離紙で分離されていないもので、使わないうちに巻かれた状態でくっついてしまったりするらしい。
閑話休題。リレーと電装品とバッテリーの三者の配置にはプラスコントロールとマイナスコントロールと呼ばれる2種類があり、電装品のプラス側(とバッテリーのプラスの間)にリレーを配置するのがプラスコントロールで、電装品のマイナス側(とバッテリーのマイナスの間)にリレーを配置するのがマイナスコントロール。深い考えはなくプラスコントロールにした。なので、リレーの状態にかかわらず常に接続が保たれている赤線をバッテリーのプラスにつなぐ。リレーのコイルに電流が流れたときにつながる黄線を増設機器のプラスにつなぐ。とはいえ白線を使わないのだったら赤黄が逆でも結果は同じだったかも。
黄線の接続には、拡張性(※抜き差しができるし、Y字に分岐させるのも容易)を考慮してギボシ端子を使った。具体的には、黄線を二股のメス端子(※バッテリーのプラスから来ているのでメスにするのが良いらしい。メス端子は金属部分が完全にゴムカバーの中なのでうっかりショートさせにくいからとか)に加工し、USBポートのプラス線(ヒューズ付き)の丸形端子を切り落としてギボシのオスに加工し、ボルトメーターの白線の先をギボシのオスに加工した。そしてこの3つをひとつにつなぐ。
残りはテキトーにバッテリーのマイナスへ。アースとかボディアースとか言われてもわからないのでマイナスは全部バッテリーのマイナスへ。なんでも、バッテリーのマイナスワイヤーリード線(※サービスマニュアルでの名称)はどこかで車体とつながっており、車体自体が回路の一部を成しバッテリーのマイナスと同一視できるとかなんとか。作業をするときバッテリーのマイナスを一番に外し、接続するのは一番最後というのはつまり、バッテリーと車体の接続をできるだけ切っておきたいということであり、車体がマイナスのままで作業してはいつどこで短絡した回路が成立するか知れたものではないというのが理由らしい。
パーツ同士の接続を予め部屋でやった。そうするとバッテリーにつなぐマイナス端子が3つとバッテリーにつなぐプラス端子が2つとカニでアクセサリー電源につなぐ予定のプラス線が 1つ宙ぶらりんに余る。
バイクから下ろしたバッテリーに5つの端子をつなぎ、最後に残ったプラス線をバッテリーのプラスに接触させたときにボルトメーターの表示や USBポートに電気が来てるかどうかを見ることで接続ミスの有無がわかる。ちなみに表示は 13.0Vでした。
バイクにバッテリーとパーツ類を固定するとアクセサリー電源のテストができる。ナンバー灯の黄色コネクタを外し、カニでつなぐ予定のプラス線(リレーの青色線のこと)を黄色コネクタ内の茶色線と接触させた状態でキーをオンオフすればいい。連動していればカニで茶線と青線を接続する。その後もう一度確認するのがいいかもね。カニさんはあまり信用できないらしく、自分でコードの被覆を剝かないといけない場合がままあるらしいので。
ヒューズやリレーやけっこうかさばるギボシ端子はバッテリーを留めるゴムバンドでバッテリーと一緒に挟んでしまった。
バッテリーからハンドルまでのルート。車体右側にはラジエターがあるのでハンドルから左に線を下ろしてタンク下を通りシート下左側からバッテリーへ。ちょっとだけ余った線はシート下の空間(サージタンク(樽型のやつ)とか吸気ダクトのあたり)で遊ばせた。
ボルトメーターの中間コネクタはメーターに近い位置にあるのでヘッドライト周りの空間に配置した。タンク下の空間までは届かないし、その手前はハンドルを左に切ったときにフォークに潰されかねない。
USBポートの中間コネクタはバッテリーに近い位置にあるのでシート下の左側、フレームパイプの内側に無理矢理詰め込んだ。そしてもうひとつ、一番の難物が「接続機器を判断し、最適な充電方法を算出する高性能ICを採用。バッテリーに優しい省電力仕様。
」と説明される物体。55円ほどで買えるコンビニ羊羹よりちょっと厚いくらいの大きさがあって、配線のためのフレームの穴を通らないのでタンク下に潜り込めない。冷却水のタンクとフレームの隙間に挟み込んだ。外から見えてるけど IPx7 相当の防水だからだいじょーぶ……というのは勘違いで、IPx7 なのはボルトメーターの方だった。
とりあえずヒューズを2つ追加しようかな。
こういうことを心配するらしい(というのを事後に知る)>車両火災の模擬実験 ~ヒューズ無しのバッ直で、ショートしたらこうなる~ - YouTube
ヒューズは下限を狙い、電源の近くに配置し、配線は太いほど良さそう。
バッテリの表面で発火したら(希)硫酸が怖い。USB電源にはヒューズが付随していたし、ボルトメーターが点灯しなくなっていたら考える前にメインスイッチを切ることを心に留めておいて、早々にコンパクトリレーの赤線にヒューズを追加する。
ヒューズって容量が足りてるなら規定よりアンペア数の小さいもので代用してもいいのかな。バイクのヒューズがミニ平型だから流用できるように形を揃えようと思ってる。
USB電源付属の 5Aのヒューズがリレーとの間にあるんだけど、これをリレーの上流(リレーとバッテリーのプラスの間)に移設することにする。した@14日。
あとの心残りは、ボルトメーターの電圧測定用の端子がバッテリーのプラスとマイナスに直につながってるんだよね。その細い2本の線がアクセサリ電源の線を加えて三つ編み状態でタンク下を通りメーターへ来てる。電源線ではないから、メーターは高々 50mAしか消費しないからと細い線で足りるつもりでいても、被覆がむけて短絡したら関係ないよねえ。ハンドル脇なんてぐりぐり曲げ伸ばしされるというのに。せめて保護チューブを巻くべきか。
中学理科までの知識(オームの法則と直列回路と並列回路とフレミングの左手の法則がほぼすべて)で始めました。リレーとかギボシとか初めて聞いたし、ヒューズなんて切れたらそれまでのアンタッチャブルな存在でした。
リレーの作動原理は電磁石とバネだってね。そりゃあカッチカッチ音もするし壊れもするだろうけど、なんの不思議要素もなくて安心する。
回路(サーキット)の第一の意味って、一周回って元の位置に戻ってくることだと理科の時間に教えてほしかった。でも閉路に対する広辞苑の説明が「閉じた回路」だったのに困惑してる。スイッチで一時的に切れた回路は閉路じゃないってことですか。
ブレーカーって再利用可能なヒューズなんだろうか。バチンと落ちる原動力は何? ブレーカーを上げたときの力を保存してて、あとはきっかけ? break(開)の対義語は make(閉)だってさ。
メインスイッチをオフにしてもボルトメーターが消えない。USBも通電してる。リレーが作動する音は聞こえるし、それに合わせてボルトメーターが一瞬消えもする。でもすぐにつく。オフなのにつく。どうしたことか。
たぶんリレーの使用していない白線が原因。テキトーに丸めてリレー本体につっこんだんだよね。絶縁? なにそれ? その結果どうなったか。リレーの作動状況により赤線→白線または赤線→黄線に電流が流れるのだけど、白線と黄線が短絡したせいで赤線→白線(→黄線)のラインができあがってしまったのではないか。これで黄線が常時通電状態。
サイドカバーを外して配線を触ったら無事ボルトメーターが消えた。こんどはちゃんと絶縁したですよ。いい加減なことをすると必ずたたられるのですね。
inject
の引数が :*
でなく :+
になってるので、素因数の積ではなく素因数の和を求めてしまってる。素因数の和に一意性はないので、たとえば 3(b)+13(f) と 5(c)+11(e) が共に 16 になるので、次の判定をミスる>p prime_calc('Esehara bf Shigeo', string_shuffle('Esehara ce Shigeo'))
■コメントとして # true but not an anagram.
って書こうとしたんだけど……アナナグラム?(かわいい)■■■@2016-10-25 どうせ splitを使うなら使い倒してやろうってね。"1X2X3X4X5X6".split(/(.)./).join(""); #=> "123456"