diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-05-02 06:47:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-05-02 06:47:07 +0900 |
| commit | 09b8483ed67d3b85e983ef86c34260081975e1cb (patch) | |
| tree | 724871a9c2db964fca535e1d1fc644325b1edda3 /vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award | |
| parent | 742ee8ed6d300318089b6ae050dc123a88c85b4a (diff) | |
| download | nsfisis.dev-09b8483ed67d3b85e983ef86c34260081975e1cb.tar.gz nsfisis.dev-09b8483ed67d3b85e983ef86c34260081975e1cb.tar.zst nsfisis.dev-09b8483ed67d3b85e983ef86c34260081975e1cb.zip | |
fix(blog/nuldoc): remove unnecessary "language" attribute
Diffstat (limited to 'vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award')
| -rw-r--r-- | vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html b/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html index 1cbf5be2..7c7dda1e 100644 --- a/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html +++ b/vhosts/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html @@ -132,7 +132,7 @@ <p> 表示している。つまり、Ruby プログラムにルビを振った作品である。例えば、先頭の2行目の <code>require</code> は次のような HTML で構成されている。 </p> - <div class="codeblock" language="html"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#24292E"><</span><span style="color:#22863A">ruby</span><span style="color:#6F42C1"> class</span><span style="color:#24292E">=</span><span style="color:#032F62">"IDENTIFIER"</span><span style="color:#24292E">>require<</span><span style="color:#22863A">rp</span><span style="color:#6F42C1"> class</span><span style="color:#24292E">=</span><span style="color:#032F62">""</span><span style="color:#24292E">>(</</span><span style="color:#22863A">rp</span><span style="color:#24292E">><</span><span style="color:#22863A">rt</span><span style="color:#6F42C1"> class</span><span style="color:#24292E">=</span><span style="color:#032F62">""</span><span style="color:#24292E">>リクワイア</</span><span style="color:#22863A">rt</span><span style="color:#24292E">><</span><span style="color:#22863A">rp</span><span style="color:#6F42C1"> class</span><span style="color:#24292E">=</span><span style="color:#032F62">""</span><span style="color:#24292E">>)</</span><span style="color:#22863A">rp</span><span style="color:#24292E">></</span><span style="color:#22863A">ruby</span><span style="color:#24292E">></span></span></code></pre> </div> <p> @@ -143,7 +143,7 @@ <p> 改めて quine について説明する。Quine とは、自身のソースコードを出力するようなプログラムである。Ruby では様々な方法で quine を書くことができるが、この作品で使っている基本形は以下のようなものである。 </p> - <div class="codeblock" language="ruby"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#005CC5">eval</span><span style="color:#24292E"> $s</span><span style="color:#032F62">=<<'EOS'</span></span> <span class="line"><span style="color:#032F62">print "eval $s=<<'EOS'</span><span style="color:#005CC5">\n</span><span style="color:#032F62">"</span></span> <span class="line"><span style="color:#032F62">print $s</span></span> @@ -162,7 +162,7 @@ <p> トークナイズには Ruby 3.4 からデフォルトのパーサになった <a href="https://github.com/ruby/prism" rel="noreferrer" target="_blank">Prism</a> を利用している。 <code>Prism.lex()</code> を使うとトークナイズができるので、トークンに付いているソースコード位置の情報を使いつつ元のソースコードを復元する。 </p> - <div class="codeblock" language="ruby"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#E36209">y</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> 1</span><span style="color:#6A737D"> # 現在の行</span></span> <span class="line"><span style="color:#E36209">x</span><span style="color:#D73A49"> =</span><span style="color:#005CC5"> 0</span><span style="color:#6A737D"> # 現在の列</span></span> <span class="line"><span style="color:#005CC5">Prism</span><span style="color:#24292E">.</span><span style="color:#6F42C1">lex</span><span style="color:#24292E">($s).</span><span style="color:#6F42C1">value</span><span style="color:#24292E">[..</span><span style="color:#D73A49">-</span><span style="color:#005CC5">2</span><span style="color:#24292E">].</span><span style="color:#6F42C1">each</span><span style="color:#24292E"> {|t, *|</span></span> @@ -187,7 +187,7 @@ <p> トークン種別に応じた色付けは CSS でおこなっている。出力する HTML のクラス名に <code>Prism::Token#type</code> を指定しておいて、<code>index.html</code> でそれぞれのクラスにスタイルを当てた。 </p> - <div class="codeblock" language="html"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#24292E"> <</span><span style="color:#22863A">style</span><span style="color:#24292E">></span></span> <span class="line"><span style="color:#6A737D"> /* ... */</span></span> <span class="line"></span> @@ -212,7 +212,7 @@ <p> それぞれの英単語や記号に対応した振り仮名のデータは、プログラム中に埋め込まれている。 </p> - <div class="codeblock" language="ruby"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#D73A49">def</span><span style="color:#6F42C1"> rt</span><span style="color:#24292E">(t)</span></span> <span class="line"><span style="color:#E36209"> r</span><span style="color:#D73A49"> =</span><span style="color:#24292E"> {</span></span> <span class="line"><span style="color:#005CC5"> :"&&"</span><span style="color:#24292E"> => </span><span style="color:#032F62">"1136"</span><span style="color:#24292E">,</span></span> @@ -241,7 +241,7 @@ <p> このテーブルはサイズ制限を突破するために圧縮されており、<code>kana()</code> 関数で展開される。 </p> - <div class="codeblock" language="ruby"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#D73A49">def</span><span style="color:#6F42C1"> kana</span><span style="color:#24292E">(s)</span></span> <span class="line"><span style="color:#24292E"> s</span></span> <span class="line"><span style="color:#D73A49"> &.</span><span style="color:#6F42C1">scan</span><span style="color:#24292E">(</span><span style="color:#032F62">/.{2}/</span><span style="color:#24292E">)</span></span> @@ -252,7 +252,7 @@ <p> 例えば <code>value</code> に対応する振り仮名データ <code>"48746992"</code> であれば、次のような変換を経て振り仮名へと展開される。 </p> - <div class="codeblock" language="ruby"> + <div class="codeblock"> <pre class="shiki github-light" style="background-color:#f5f5f5;color:#24292e" tabindex="0"><code><span class="line"><span style="color:#24292E"> s</span></span> <span class="line"><span style="color:#6A737D"> # => "48746992"</span></span> <span class="line"><span style="color:#D73A49"> &.</span><span style="color:#6F42C1">scan</span><span style="color:#24292E">(</span><span style="color:#032F62">/.{2}/</span><span style="color:#24292E">)</span></span> |
