投稿者「mod_poppo」のアーカイブ

駅名に「地下鉄」をつけると地下鉄の駅になる

※なりません

評価のポイント

当てはまる数が多いほどポイントが高い。

  • 本物の地下鉄が近くにないこと。
  • 同じ地名を冠する地上駅が近くにあること。
  • 当該地下駅と「同じ地名を冠する地上駅」とは、それほど一体的ではないこと。
  • 地上の鉄道路線と地下の鉄道路線がある程度並走していること。

続きを読む

XSLT メモ

自分の Web サイトの (X)HTML ファイルの一部を XSLT で処理しているので、それについてのメモ。

例えば、 https://miz-ar.info/math/singularity/ のソースを表示させると、要素間の空白や改行が全くないが、この「要素間の空白や改行を削除する」処理は XSLT で行なっている。エディターで編集する元ファイルには編集しやすいようにちゃんと改行やインデントが入っている。

XSLT という技術(少なくとも、現行の1.0/2.0)は HTML5 と親和性が高いとはお世辞にも言えず(具体的には、 <xsl:output> で <!DOCTYPE html> を出力するように指定できない)、これを2016年に使うのはどうなのかという心の声が聞こえるが、まあ気にしないことにする。(ちなみに、 XSLT で <!DOCTYPE html> を出力する方法自体は、“xslt html5” で検索すれば出てくる。あるいは、 about:legacy-compat を使うのでも良いだろう。)

XSLT の規格:

空白を削除する

エディターで編集するときはインデントとかの都合で要素間に空白を入れたいが、実際に使うときは要素間の空白を入れたくない場合。 <xsl:strip-space> を使うと良い。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml"
              encoding="UTF-8"
              />
  <xsl:strip-space elements="*" />
  <xsl:template match="comment()">
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

特定の<script>要素のsrc属性を書き換える

<script src=”main.js” /> を <script src=”main.min.js” /> に書き換える例。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0"
    >
  <xsl:output method="xml"
              encoding="UTF-8"
              />
  <xsl:template match="//xhtml:script/@src[string()='main.js']">
    <xsl:attribute name="src">main.min.js</xsl:attribute>
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Catmull-Rom スプライン曲線についてのメモ

たのしい複素積分」や「わくわく解析接続」では、マウス(またはタッチ操作)の入力から曲線を構成する際に Catmull-Rom スプライン曲線を使っている。この Catmull-Rom スプライン曲線についてのメモを書いておく。あくまで備忘録であり、 Catmull-Rom スプラインを知らない人向けの記事ではない。 続きを読む

舞台探訪に行ってきたよぉ 〜高岡編〜(「ゆるゆり さん☆ハイ!」聖地巡礼)

帰省のついでに、アニメ「ゆるゆり なちゅやちゅみ!」(OVA)、「ゆるゆり なちゅやちゅみ!+」(特別編)、「ゆるゆり さん☆ハイ!」(3期)の舞台探訪(聖地巡礼)に行ってきた。
続きを読む

舞台探訪に行ってきたよぉ 〜井波編〜(「ゆるゆり なちゅやちゅみ!」聖地巡礼)

最近「ゆるゆり」にハマっているので、帰省のついでに舞台探訪(聖地巡礼)的なやつに行ってきた。

まずは「ゆるゆり なちゅやちゅみ!」(OVA)に登場する、井波(現・南砺市)の閑乗寺公園から。(実家から近い&小さい頃から何回か行っていて思い出深いので) 続きを読む

解析接続っぽいことができる Web ページ(わくわく解析接続)を公開した

対数関数や平方根のような複素関数は、閉曲線に沿って解析接続すると元の関数と値がずれる場合がある。対数関数や平方根であればまだ単純だから良いが、根号の中に多項式等が入るような関数だと、具体的な曲線に対して関数の(ブランチ)を計算するのは少し面倒である。

というわけで、以前に作った複素積分の Web アプリ(ブラウザアプリ)のような感じで、平面に描いた曲線に沿って解析接続してくれるアプリ(Web ページ)を作った。「複素関数で遊ぼう」「たのしい複素積分」に続く、複素関数シリーズ第3弾とでも言おうか。今のところ愛称は設定していないが、気が向いたらページのタイトルを「わくわく解析接続」に変えているかもしれない。→変えた。この記事のタイトルも変更。 続きを読む

Lua で遊ぶ浮動小数点数

(倍精度)浮動小数点数でいろいろ遊ぶ際に、 Lua が便利なのではないかと思った。以下、特に断らない限り「浮動小数点数」と言ったら倍精度のものを指す。

なぜ Lua を使うのか?

Lua はC言語で実装されていて、数値の扱いについてはC言語と近い挙動を示すと考えられる。C言語と違って累乗の演算子 (x^y) があるのが地味に便利である。

Lua 5.2 以降では、浮動小数点数の16進表記をサポートするようになった。ソースコード中にリテラルで 0x1.fp2 と書けるし、文字列から数値に変換するときに tonumber("0x1.fp2") と書けるし、数値から文字列に変換するときは %a または %A を使って string.format("%a",7.75) と書ける。

あとは、標準ライブラリに足りない機能があったときに簡単にC言語で拡張ライブラリを書ける。

続きを読む