パンデミック後の新世界を作るために (foussin’s blog)

(『見捨てられた世代』からの提言)

はてな記法で javascript が使えるかの実験:

 ネットカフェの PC には perlscheme も、もちろん MSXエミュレータも入ってない。が、ブラウザは使える。ならば javascript を使うしかない。で、はてなブログxhtml なので、そこら辺の基本をおさらい。

<!-- xhtml で javascript を使う書式 -->
<script type="text/javascript">
//<![CDATA[
  /* ここに javascript src を記述 */
//]]>
</script>

<!-- html5 で javascript を使う書式 -->
<script>
  /* ここに javascript src を記述 */
</script>

 今まで「距離(半径)の2乗」とかやってきたが、考えてみれば詳しく検証してなかった。2乗というのは「2次元空間の面積」が関係している。そこで「正方形の面積」「4分の1円弧の面積」「円の面積」を比較するコードを組んでみた。

<!-- はてなブログ(xhtml) で javascript を使う -->
<script type="text/javascript">
//<![CDATA[
  // r^2=正方形, (pi*r^2)/4=4分の1円弧, pi*r^2=円 …の面積
  var pi = 3.14;                          // Math.PI
  document.write("<pre>");
  document.write("半径\t正方形\t円弧\t\t…の面積\n");
  for (var r=1; r<10; ++r) {
    var sq = r*r;
    var c4 = Math.round((pi*r*r)/4);
    var cr = Math.round(pi*r*r);
    document.write(r+"\t"+sq+"\t"+c4+"\t"+cr+"\n");
  }
  document.write("</pre>");
//]]>
</script>

 上記のコードを「はてなブログ」で実行。↓

 問題なく実行できるみたい。ここに計算結果が表示されない人は、たぶん使用しているブラウザが非対応、もしくはセキュリティが厳しすぎる、のどちらかだろう。

 比較のためネットカフェでも実行(html5用)。↓

<html>
<head>
<meta charset="utf-8">
<title>js-html5-test.html</title>
<!-- html5 で javascript を使う -->
</head>
<body>
<script>
  // r^2=正方形, (pi*r^2)/4=4分の1円弧, pi*r^2=円 …の面積
  var pi = Math.PI;
  var realCR = 0;
  document.write("<pre>");
  document.write("半径\t正方形\t円弧\t\t…の面積\n");
  for (var r=1; r<10; ++r) {
    var sq = r*r;
    realCR = pi*sq;               // 円の面積(実数)
    var cr = Math.round(realCR);
    var c4 = Math.round(realCR/4);
    document.write(r+"\t"+sq+"\t"+c4+"\t"+cr+"\n");
  }
  document.write("</pre>");
</script>
</body>
</html>

 これの実行結果。↓

f:id:foussin:20210513212227p:plain
js-実行例.png(ブラウザ画面のスクショ)

 実行結果から分かる通り「正方形の面積」と「4分の1円弧の面積」は、宇宙的スケールで見れば誤差の範囲。ほとんど一緒と考えて構わないだろう。

 久しぶりに js を書いたので、変数ロケールとか忘れてしまった。js のローカル変数、グローバル変数の有効範囲ってどう決まっていたんだっけ。
 html5 では SVG が記述できる。はてなブログはどうだろ。可能なら js を使って正弦曲線ぐらいは引けると思うが、ネットカフェで draw系ソフトが使えるなら、そっちの方が簡単(とりあえず libre は使えた)。

 とりあえず、ブログで表組を作る時とかに js は使えそう。はてな記法での <table>表記も調べておこう。昔やった記憶があるが、忘れてしまった。