ほぼ雑記的メモ
なので、遠近両用を作りました。
JINSで
今更車輪の再発明かもしれないけれど、JavaScriptを圧縮する(難読化する)プログラム作ってます。 nodeで動くものはゴマンとあるようですが、フルスクラッチでruby 100%が目標です。
そんなわけで、ECMA262を読破してるのですがおかげさまでJavaScriptに詳しくなりつつあります。 この手のソフトの中ではuglifyjsがなかなかに好成績を出すんですが、場合によってはそれより小さくできているように見えます・・・めでたい。 ただし本当に正しく圧縮されてるのかは試験する余地がありますが・・
さて、圧縮する過程で苦労してるのがJavaScriptのスコープです。 JavaScriptのスコープは単純なようで難解です。 例えば以下のようなコードを実行したときに何が帰ってくるのかすぐに正しく答えられる人は少ないんじゃないか?と思います。
function zzz(){ bbb = 2; try{ throw 3; } catch(bbb){ var bbb; console.log(bbb); bbb = 1; } finally{ } console.log(bbb); } zzz(); console.log(bbb);
結論からいうと結果は
3 2 undefined
です。 順番に紐といていきます。
関数内でvar宣言した変数は外部との関係が断たれるわけですが、この宣言はどこでしても同じです。極端な話 関数の一番下でひっそりと書いておいてもいいのです。もちろんむちゃくちゃ分りにくくなりますが・・・ よって、catchの中にある var bbbは
function zzz(){ var bbb = 2; try{ throw 3; } catch(bbb){ console.log(bbb); bbb = 1; } finally{ } console.log(bbb); } zzz(); console.log(bbb);
と書いたのと同じです。つまり bbbは 関数zzzの内部でのみ有効な変数ですから関数内でいくら 値を変更したとしてもグローバルな bbbは代りません。よって最後の consoleは undefinedを 返します。
catchの内部はハンドルした例外が入る bbbが優先されます。 よってcatch内では bbbは 3になっています。よってconsoleの出力は3となりますし、 bbbを別な値に書換えてもvar宣言された bbbはもちろん、グローバルなbbbも変化しません。 というわけで、最初に書いたような出力になるわけです。 なんかややこしいいですが、 1. functionの内部で var宣言された変数は、局所になる 2. var 宣言はどこかで一度すればよい。 3. ただし、catch節の引き数だけは例外にcatchで有効 と覚えておくと実務的には困らないかな?と思います。
あ、あとこちらもよろしく。ここまで書いておいてなんですが、まだこの問題にちゃんと対処できていません・・・
minjs 0.1.5 https://rubygems.org/gems/minjs
人生初のプラレール博 at 幕張メッセ。平日ということもあり混雑はソコソコでした。
いろんなやり方がありますが、ECMA262には
11.4.6 Unary + Operator The unary + operator converts its operand to Number type.
とわざわざ書いてあるので + を使うのが正当?(コードとしてはわっかりにくいけど
看板に頭ぶつけて「いてぇー」と思ってたらダラダラ血が出てきました。
慌てて外科を探したのですが、いざ探すとなかなかないのなー。あっても昼休みだったりして・・
しょうがないので大きめの病院に電話して直行。紹介状がないので5400円だかとられましたがしょうがない。
数針縫われて、久しぶりに頭部CTをとりました。今んとこ異常は特に無しです
JALのホームページだと青森は3/29からとあるけれど、実際はもう既に飛んでるようですね
売り出されたようなのでMMFを解約して購入。年利6.62%(税引前)。4年半ほど再び漬けることにしました。
あまり期待していないけど。というか10年前と違い最近は証券会社も積極的に南アフリカの経済状況などをアッピールしていません。アッピールしないということはネガティブなんでしょう。実際ネットで検索してもあまり出てこないですねぇ・・・
辛うじてUFJリサーチ&コンサルティングというところが去年の5月30日にレポートしていますが、あまりいい状況とは言えないようです。
http://www.murc.jp/thinktank/economy/analysis/research/report_140530.pdf
この様な状況で年利6.62%がリスクに見合うだけの価値があるかと言われると非常に微妙なわけですが、かといってここで円にしてしまうと大損なのがなんともという感じです。
商品名
フィンランド地方金融公社2019/10/10満期南アフリカランド建債券
利率(年)
6.62%(税引前)
売出価格・償還価格
100%
お申し込み単位(額面)
10,000南アフリカランド以上、10,000南アフリカランド単位
利払日
年2回 毎年4/10、10/10
発行額
2,000万南アフリカランド
償還日
2019/10/10
発行日
2015/4/9(木) (国内受渡日:2015/4/10(金))