<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Latest comments for language 'D' on doukaku.org</title><link>http://ja.doukaku.org/lang/d/</link><description>Latest comments for language 'D' on doukaku.org(long)</description><language>ja</language><lastBuildDate>Sat, 22 Nov 2008 20:28:09 -0000</lastBuildDate><item><title>ika's comment on 漢数字で九九の表
</title><link>http://ja.doukaku.org/comment/8017/</link><description>



&lt;a href="http://ja.doukaku.org/212/"&gt;漢数字で九九の表&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/212/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/212/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;修正.&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt; : &lt;span class="n"&gt;write&lt;/span&gt;, &lt;span class="n"&gt;writeln&lt;/span&gt;;
&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt; : &lt;span class="n"&gt;repeat&lt;/span&gt;;
&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;typecons&lt;/span&gt; : &lt;span class="n"&gt;defineEnum&lt;/span&gt;;

&lt;span class="k"&gt;mixin&lt;/span&gt;(&lt;span class="n"&gt;defineEnum&lt;/span&gt;!(&lt;span class="s"&gt;&amp;quot;数&amp;quot;&lt;/span&gt;, &lt;span class="kt"&gt;uint&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;〇&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;一&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;二&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;三&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;四&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;五&amp;quot;&lt;/span&gt;,
                              &lt;span class="s"&gt;&amp;quot;六&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;七&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;八&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;九&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;十&amp;quot;&lt;/span&gt;));
&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="err"&gt;空白&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;　&amp;quot;&lt;/span&gt;;

&lt;span class="n"&gt;dstring&lt;/span&gt; &lt;span class="n"&gt;toDString&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;) {
    &lt;span class="n"&gt;dstring&lt;/span&gt; &lt;span class="n"&gt;ds&lt;/span&gt;;
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="kt"&gt;dchar&lt;/span&gt; &lt;span class="n"&gt;dc&lt;/span&gt;; &lt;span class="n"&gt;s&lt;/span&gt;) &lt;span class="n"&gt;ds&lt;/span&gt; ~= &lt;span class="n"&gt;dc&lt;/span&gt;;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;ds&lt;/span&gt;;
}

&lt;span class="n"&gt;dstring&lt;/span&gt; &lt;span class="err"&gt;文字列化&lt;/span&gt;(&lt;span class="err"&gt;数&lt;/span&gt; &lt;span class="err"&gt;かず&lt;/span&gt;) {
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="err"&gt;もじれつ&lt;/span&gt;;
    &lt;span class="k"&gt;while&lt;/span&gt;(&lt;span class="err"&gt;かず&lt;/span&gt;) {
        &lt;span class="err"&gt;もじれつ&lt;/span&gt; = &lt;span class="n"&gt;enumToString&lt;/span&gt;(&lt;span class="err"&gt;かず&lt;/span&gt; % &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;) ~ &lt;span class="err"&gt;もじれつ&lt;/span&gt;;
        &lt;span class="err"&gt;かず&lt;/span&gt; /= &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;;
    }
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="err"&gt;もじれつ&lt;/span&gt;.&lt;span class="n"&gt;toDString&lt;/span&gt;;
}

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="err"&gt;い&lt;/span&gt;; &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;一&lt;/span&gt; .. &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;) {
        &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="err"&gt;ろ&lt;/span&gt;; &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;一&lt;/span&gt; .. &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;) {
            &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="err"&gt;もじれつ&lt;/span&gt; = &lt;span class="err"&gt;文字列化&lt;/span&gt;(&lt;span class="err"&gt;い&lt;/span&gt; * &lt;span class="err"&gt;ろ&lt;/span&gt;);
            &lt;span class="n"&gt;write&lt;/span&gt;(&lt;span class="err"&gt;空白&lt;/span&gt;.&lt;span class="n"&gt;repeat&lt;/span&gt;(&lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;三&lt;/span&gt; - &lt;span class="err"&gt;もじれつ&lt;/span&gt;.&lt;span class="n"&gt;length&lt;/span&gt;), &lt;span class="err"&gt;もじれつ&lt;/span&gt;);
        }
        &lt;span class="n"&gt;writeln&lt;/span&gt;();
    }
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/8017/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/8017/</guid></item><item><title>ika's comment on 漢数字で九九の表
</title><link>http://ja.doukaku.org/comment/8007/</link><description>



&lt;a href="http://ja.doukaku.org/212/"&gt;漢数字で九九の表&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/212/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/212/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;defineEnumは列挙型と、列挙型&amp;lt;=&amp;gt;文字列を相互変換する関数を定義するテンプレートです。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt; : &lt;span class="n"&gt;write&lt;/span&gt;, &lt;span class="n"&gt;writeln&lt;/span&gt;;
&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt; : &lt;span class="n"&gt;repeat&lt;/span&gt;;
&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;typecons&lt;/span&gt; : &lt;span class="n"&gt;defineEnum&lt;/span&gt;;
&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;utf&lt;/span&gt; : &lt;span class="n"&gt;toUTF32&lt;/span&gt;;

&lt;span class="k"&gt;mixin&lt;/span&gt;(&lt;span class="n"&gt;defineEnum&lt;/span&gt;!(&lt;span class="s"&gt;&amp;quot;数&amp;quot;&lt;/span&gt;, &lt;span class="kt"&gt;uint&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;〇&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;一&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;二&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;三&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;四&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;五&amp;quot;&lt;/span&gt;,
                              &lt;span class="s"&gt;&amp;quot;六&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;七&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;八&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;九&amp;quot;&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;十&amp;quot;&lt;/span&gt;));
&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="err"&gt;空白&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;　&amp;quot;&lt;/span&gt;;

&lt;span class="n"&gt;dstring&lt;/span&gt; &lt;span class="err"&gt;文字列化&lt;/span&gt;(&lt;span class="err"&gt;数&lt;/span&gt; &lt;span class="err"&gt;かず&lt;/span&gt;) {
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="err"&gt;もじれつ&lt;/span&gt;;
    &lt;span class="k"&gt;while&lt;/span&gt;(&lt;span class="err"&gt;かず&lt;/span&gt;) {
        &lt;span class="err"&gt;もじれつ&lt;/span&gt; = &lt;span class="n"&gt;enumToString&lt;/span&gt;(&lt;span class="err"&gt;かず&lt;/span&gt; % &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;) ~ &lt;span class="err"&gt;もじれつ&lt;/span&gt;;
        &lt;span class="err"&gt;かず&lt;/span&gt; /= &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;;
    }
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="err"&gt;もじれつ&lt;/span&gt;.&lt;span class="n"&gt;toUTF32&lt;/span&gt;;
}

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="err"&gt;い&lt;/span&gt;; &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;一&lt;/span&gt; .. &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;) {
        &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="err"&gt;ろ&lt;/span&gt;; &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;一&lt;/span&gt; .. &lt;span class="err"&gt;数&lt;/span&gt;.&lt;span class="err"&gt;十&lt;/span&gt;) {
            &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="err"&gt;もじれつ&lt;/span&gt; = &lt;span class="err"&gt;文字列化&lt;/span&gt;(&lt;span class="err"&gt;い&lt;/span&gt; * &lt;span class="err"&gt;ろ&lt;/span&gt;);
            &lt;span class="n"&gt;write&lt;/span&gt;(&lt;span class="err"&gt;空白&lt;/span&gt;.&lt;span class="n"&gt;repeat&lt;/span&gt;(&lt;span class="mi"&gt;3&lt;/span&gt; - &lt;span class="err"&gt;もじれつ&lt;/span&gt;.&lt;span class="n"&gt;length&lt;/span&gt;), &lt;span class="err"&gt;もじれつ&lt;/span&gt;);
        }
        &lt;span class="n"&gt;writeln&lt;/span&gt;();
    }
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/8007/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/8007/</guid></item><item><title>ika's comment on 疑似並行処理
</title><link>http://ja.doukaku.org/comment/7980/</link><description>



&lt;a href="http://ja.doukaku.org/215/"&gt;疑似並行処理&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/215/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/215/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;D2.020から言語コアと標準ライブラリが分離されました。
なぜか言語コアのほうに含まれているThreadGroupなるユーティリティクラスを使ってみました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;core&lt;/span&gt;.&lt;span class="n"&gt;thread&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;threads&lt;/span&gt; = &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;ThreadGroup&lt;/span&gt;;
    &lt;span class="n"&gt;threads&lt;/span&gt;.&lt;span class="n"&gt;create&lt;/span&gt;({
        &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;x&lt;/span&gt;; &lt;span class="s"&gt;&amp;quot;0123456789&amp;quot;&lt;/span&gt;) {
            &lt;span class="n"&gt;write&lt;/span&gt;(&lt;span class="n"&gt;x&lt;/span&gt;);
            &lt;span class="n"&gt;Thread&lt;/span&gt;.&lt;span class="n"&gt;yield&lt;/span&gt;;
        }
    });
    &lt;span class="n"&gt;threads&lt;/span&gt;.&lt;span class="n"&gt;create&lt;/span&gt;({
        &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;x&lt;/span&gt;; &lt;span class="s"&gt;&amp;quot;abcdefghij&amp;quot;&lt;/span&gt;) {
            &lt;span class="n"&gt;write&lt;/span&gt;(&lt;span class="n"&gt;x&lt;/span&gt;);
            &lt;span class="n"&gt;Thread&lt;/span&gt;.&lt;span class="n"&gt;yield&lt;/span&gt;;
        }
    });
    &lt;span class="n"&gt;threads&lt;/span&gt;.&lt;span class="n"&gt;joinAll&lt;/span&gt;;
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7980/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7980/</guid></item><item><title>ika's comment on 2^i * 3^j * 5^k なる整数
</title><link>http://ja.doukaku.org/comment/7700/</link><description>



&lt;a href="http://ja.doukaku.org/206/"&gt;2^i * 3^j * 5^k なる整数&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/206/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/206/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;因数分解する方針で。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;;

&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;HammingNumbers&lt;/span&gt; {
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;isHammingNumber&lt;/span&gt;(&lt;span class="kt"&gt;uint&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;) {
        &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;bool&lt;/span&gt;[&lt;span class="kt"&gt;uint&lt;/span&gt;] &lt;span class="n"&gt;memo&lt;/span&gt;;
        
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; == &lt;span class="mi"&gt;1&lt;/span&gt;) &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;;
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; = &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;memo&lt;/span&gt;) &lt;span class="k"&gt;return&lt;/span&gt; *&lt;span class="n"&gt;p&lt;/span&gt;;
        
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; % &lt;span class="mi"&gt;2&lt;/span&gt; == &lt;span class="mi"&gt;0&lt;/span&gt;)
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;memo&lt;/span&gt;[&lt;span class="n"&gt;n&lt;/span&gt;] = &lt;span class="n"&gt;isHammingNumber&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; / &lt;span class="mi"&gt;2&lt;/span&gt;);
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; % &lt;span class="mi"&gt;3&lt;/span&gt; == &lt;span class="mi"&gt;0&lt;/span&gt;)
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;memo&lt;/span&gt;[&lt;span class="n"&gt;n&lt;/span&gt;] = &lt;span class="n"&gt;isHammingNumber&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; / &lt;span class="mi"&gt;3&lt;/span&gt;);
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; % &lt;span class="mi"&gt;5&lt;/span&gt; == &lt;span class="mi"&gt;0&lt;/span&gt;)
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;memo&lt;/span&gt;[&lt;span class="n"&gt;n&lt;/span&gt;] = &lt;span class="n"&gt;isHammingNumber&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; / &lt;span class="mi"&gt;5&lt;/span&gt;);
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;memo&lt;/span&gt;[&lt;span class="n"&gt;n&lt;/span&gt;] = &lt;span class="kc"&gt;false&lt;/span&gt;;
    }
    
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;opApply&lt;/span&gt;(&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="k"&gt;delegate&lt;/span&gt;(&lt;span class="k"&gt;ref&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt;(&lt;span class="n"&gt;size_t&lt;/span&gt;), &lt;span class="k"&gt;ref&lt;/span&gt; &lt;span class="k"&gt;const&lt;/span&gt;(&lt;span class="kt"&gt;uint&lt;/span&gt;)) &lt;span class="n"&gt;dg&lt;/span&gt;) {
        &lt;span class="n"&gt;size_t&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; = &lt;span class="mi"&gt;0&lt;/span&gt;;
        &lt;span class="kt"&gt;uint&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; = &lt;span class="mi"&gt;1&lt;/span&gt;;
        &lt;span class="k"&gt;while&lt;/span&gt;(&lt;span class="kc"&gt;true&lt;/span&gt;) {
            &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;isHammingNumber&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt;)) {
                &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt; = &lt;span class="n"&gt;dg&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt;, &lt;span class="n"&gt;n&lt;/span&gt;))
                    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;;
                &lt;span class="n"&gt;i&lt;/span&gt;++;
            }
            &lt;span class="n"&gt;n&lt;/span&gt;++;
        }
    }
}

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;(){
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt;, &lt;span class="n"&gt;n&lt;/span&gt;; &lt;span class="n"&gt;HammingNumbers&lt;/span&gt;) {
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt; == &lt;span class="mi"&gt;100&lt;/span&gt;) &lt;span class="k"&gt;break&lt;/span&gt;;
        &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;: &amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;n&lt;/span&gt;);
    }
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7700/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7700/</guid></item><item><title>ika's comment on 不動点演算子
</title><link>http://ja.doukaku.org/comment/7670/</link><description>



&lt;a href="http://ja.doukaku.org/150/"&gt;不動点演算子&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/150/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/150/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;テンプレート引数の推論を使って型無しラムダっぽく。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {    
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt; = &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;) {
            &lt;span class="k"&gt;return&lt;/span&gt; (&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
                &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt;) {
                    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
                        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;) {
                            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;(&lt;span class="n"&gt;g&lt;/span&gt;(&lt;span class="n"&gt;g&lt;/span&gt;))(&lt;span class="n"&gt;x&lt;/span&gt;);
                        }
                    };
                }
            })(&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
                &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt;) {
                    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
                        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;) {
                            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;(&lt;span class="n"&gt;g&lt;/span&gt;(&lt;span class="n"&gt;g&lt;/span&gt;))(&lt;span class="n"&gt;x&lt;/span&gt;);
                        }
                    };
                }
            });
        };
    };
    
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;F&lt;/span&gt; = &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;) {
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; {
                &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;opCall&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)(&lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;) {
                    &lt;span class="k"&gt;if&lt;/span&gt; (&lt;span class="n"&gt;x&lt;/span&gt; == &lt;span class="mi"&gt;0&lt;/span&gt;) {
                        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;cast&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;)&lt;span class="mi"&gt;1&lt;/span&gt;;
                    } &lt;span class="k"&gt;else&lt;/span&gt; {
                        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; * &lt;span class="n"&gt;f&lt;/span&gt;(&lt;span class="n"&gt;x&lt;/span&gt; - &lt;span class="mi"&gt;1&lt;/span&gt;);
                    }
                }
            };
        }
    };

    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;factorial&lt;/span&gt; = &lt;span class="n"&gt;Y&lt;/span&gt;(&lt;span class="n"&gt;F&lt;/span&gt;);
    &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;fact(5) = &amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;factorial&lt;/span&gt;(&lt;span class="mi"&gt;10&lt;/span&gt;));
    &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;fact(5) = &amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;factorial&lt;/span&gt;(&lt;span class="mi"&gt;20L&lt;/span&gt;));
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7670/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7670/</guid></item><item><title>匿名's comment on テスト
</title><link>http://ja.doukaku.org/comment/7629/</link><description>



&lt;a href="http://ja.doukaku.org/1/"&gt;テスト&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/1/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/1/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;テスト投稿&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;()
{
    &lt;span class="n"&gt;printf&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;test\n&amp;quot;&lt;/span&gt;);
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;;
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7629/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7629/</guid></item><item><title>ika's comment on LL Golf Hole 7 - バイト数を読みやすくする
</title><link>http://ja.doukaku.org/comment/7525/</link><description>



&lt;a href="http://ja.doukaku.org/202/"&gt;LL Golf Hole 7 - バイト数を読みやすくする&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/202/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/202/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;C++のを真似ようと思ったのですが、なんだか普通になってしまいました。
入力はリテラル、出力はコンパイラメッセージで。&lt;/p&gt;
&lt;p&gt;出力:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
123
234.5k
345.6M
456.7G
567.8T
d202.d(39): static assert  &amp;quot;done!&amp;quot;
&lt;/pre&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;metastrings&lt;/span&gt;;

&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;None&lt;/span&gt; { &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Symbol&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;&amp;quot;&lt;/span&gt;,  &lt;span class="n"&gt;Base&lt;/span&gt; = &lt;span class="mi"&gt;1&lt;/span&gt;;    }
&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Kilo&lt;/span&gt; { &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Symbol&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;k&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;Base&lt;/span&gt; = &lt;span class="mf"&gt;1e+3&lt;/span&gt;; }
&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Mega&lt;/span&gt; { &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Symbol&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;M&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;Base&lt;/span&gt; = &lt;span class="mf"&gt;1e+6&lt;/span&gt;; }
&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Giga&lt;/span&gt; { &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Symbol&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;G&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;Base&lt;/span&gt; = &lt;span class="mf"&gt;1e+9&lt;/span&gt;; }
&lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Tera&lt;/span&gt; { &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Symbol&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;T&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;Base&lt;/span&gt; = &lt;span class="mf"&gt;1e12&lt;/span&gt;; }

&lt;span class="k"&gt;template&lt;/span&gt; &lt;span class="n"&gt;SIPrefix&lt;/span&gt;(&lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;) {
    &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; &amp;lt; &lt;span class="n"&gt;Kilo&lt;/span&gt;.&lt;span class="n"&gt;Base&lt;/span&gt;)
        &lt;span class="k"&gt;alias&lt;/span&gt; &lt;span class="n"&gt;None&lt;/span&gt; &lt;span class="n"&gt;SIPrefix&lt;/span&gt;;
    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; &amp;lt; &lt;span class="n"&gt;Mega&lt;/span&gt;.&lt;span class="n"&gt;Base&lt;/span&gt;)
        &lt;span class="k"&gt;alias&lt;/span&gt; &lt;span class="n"&gt;Kilo&lt;/span&gt; &lt;span class="n"&gt;SIPrefix&lt;/span&gt;;
    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; &amp;lt; &lt;span class="n"&gt;Giga&lt;/span&gt;.&lt;span class="n"&gt;Base&lt;/span&gt;)
        &lt;span class="k"&gt;alias&lt;/span&gt; &lt;span class="n"&gt;Mega&lt;/span&gt; &lt;span class="n"&gt;SIPrefix&lt;/span&gt;;
    &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;n&lt;/span&gt; &amp;lt; &lt;span class="n"&gt;Tera&lt;/span&gt;.&lt;span class="n"&gt;Base&lt;/span&gt;)
        &lt;span class="k"&gt;alias&lt;/span&gt; &lt;span class="n"&gt;Giga&lt;/span&gt; &lt;span class="n"&gt;SIPrefix&lt;/span&gt;;
    &lt;span class="k"&gt;else&lt;/span&gt;
        &lt;span class="k"&gt;alias&lt;/span&gt; &lt;span class="n"&gt;Tera&lt;/span&gt; &lt;span class="n"&gt;SIPrefix&lt;/span&gt;;
}

&lt;span class="k"&gt;template&lt;/span&gt; &lt;span class="n"&gt;SIFormat&lt;/span&gt;(&lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;) {
    &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;SIFormat&lt;/span&gt; = &lt;span class="n"&gt;ToString&lt;/span&gt;!(&lt;span class="n"&gt;n&lt;/span&gt; / &lt;span class="n"&gt;SIPrefix&lt;/span&gt;!(&lt;span class="n"&gt;n&lt;/span&gt;).&lt;span class="n"&gt;Base&lt;/span&gt;) ~ &lt;span class="n"&gt;SIPrefix&lt;/span&gt;!(&lt;span class="n"&gt;n&lt;/span&gt;).&lt;span class="n"&gt;Symbol&lt;/span&gt;;
}

&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;template&lt;/span&gt; &lt;span class="n"&gt;ToString&lt;/span&gt;(&lt;span class="kt"&gt;real&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;) {
    &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;ToString&lt;/span&gt; = &lt;span class="n"&gt;ToString&lt;/span&gt;!(&lt;span class="k"&gt;cast&lt;/span&gt;(&lt;span class="kt"&gt;long&lt;/span&gt;)&lt;span class="n"&gt;x&lt;/span&gt;) ~ &lt;span class="s"&gt;&amp;quot;.&amp;quot;&lt;/span&gt; ~ &lt;span class="n"&gt;ToString&lt;/span&gt;!(&lt;span class="k"&gt;cast&lt;/span&gt;(&lt;span class="kt"&gt;long&lt;/span&gt;)(&lt;span class="n"&gt;x&lt;/span&gt; * &lt;span class="mi"&gt;10&lt;/span&gt;))[$ - &lt;span class="mi"&gt;1&lt;/span&gt;];
}
&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;template&lt;/span&gt; &lt;span class="n"&gt;ToString&lt;/span&gt;(&lt;span class="kt"&gt;long&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;) {
    &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;ToString&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;metastrings&lt;/span&gt;.&lt;span class="n"&gt;ToString&lt;/span&gt;!(&lt;span class="n"&gt;x&lt;/span&gt;);
}


&lt;span class="k"&gt;pragma&lt;/span&gt;(&lt;span class="n"&gt;msg&lt;/span&gt;, &lt;span class="n"&gt;SIFormat&lt;/span&gt;!(&lt;span class="mi"&gt;123&lt;/span&gt;));
&lt;span class="k"&gt;pragma&lt;/span&gt;(&lt;span class="n"&gt;msg&lt;/span&gt;, &lt;span class="n"&gt;SIFormat&lt;/span&gt;!(&lt;span class="mi"&gt;234567&lt;/span&gt;));
&lt;span class="k"&gt;pragma&lt;/span&gt;(&lt;span class="n"&gt;msg&lt;/span&gt;, &lt;span class="n"&gt;SIFormat&lt;/span&gt;!(&lt;span class="mi"&gt;345678901&lt;/span&gt;));
&lt;span class="k"&gt;pragma&lt;/span&gt;(&lt;span class="n"&gt;msg&lt;/span&gt;, &lt;span class="n"&gt;SIFormat&lt;/span&gt;!(&lt;span class="mi"&gt;456789012345&lt;/span&gt;));
&lt;span class="k"&gt;pragma&lt;/span&gt;(&lt;span class="n"&gt;msg&lt;/span&gt;, &lt;span class="n"&gt;SIFormat&lt;/span&gt;!(&lt;span class="mi"&gt;567890123456789&lt;/span&gt;));

&lt;span class="k"&gt;static&lt;/span&gt; &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="kc"&gt;false&lt;/span&gt;, &lt;span class="s"&gt;&amp;quot;done!&amp;quot;&lt;/span&gt;); &lt;span class="c"&gt;// コンパイル終了&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7525/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7525/</guid></item><item><title>Dubhead's comment on 文字列型日時ののN秒後時間取得
</title><link>http://ja.doukaku.org/comment/7521/</link><description>



&lt;a href="http://ja.doukaku.org/204/"&gt;文字列型日時ののN秒後時間取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/204/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/204/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;使用例も書かないとダメですね。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;conv&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;;

&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;DateEx&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;, &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt;)
{
    &lt;span class="n"&gt;d_time&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;parse&lt;/span&gt;(&lt;span class="n"&gt;datetime&lt;/span&gt;);
    &lt;span class="n"&gt;d_time&lt;/span&gt; &lt;span class="n"&gt;new_datetime&lt;/span&gt; = &lt;span class="n"&gt;t&lt;/span&gt; + &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt; * &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;TicksPerSecond&lt;/span&gt;;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;toString&lt;/span&gt;(&lt;span class="n"&gt;new_datetime&lt;/span&gt;);
}
&lt;span class="k"&gt;unittest&lt;/span&gt; {
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;DateEx&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;Mon Sep 01 13:00:00 GMT+0900 2008&amp;quot;&lt;/span&gt;, -&lt;span class="mi"&gt;3600&lt;/span&gt;) ==
        &lt;span class="s"&gt;&amp;quot;Mon Sep 01 12:00:00 GMT+0900 2008&amp;quot;&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;DateEx&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;Mon Sep 01 13:00:00 GMT+0900 2008&amp;quot;&lt;/span&gt;, &lt;span class="mi"&gt;3600&lt;/span&gt;) ==
        &lt;span class="s"&gt;&amp;quot;Mon Sep 01 14:00:00 GMT+0900 2008&amp;quot;&lt;/span&gt;);
}

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt;[] &lt;span class="n"&gt;args&lt;/span&gt;)
{
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt;;
    &lt;span class="k"&gt;if&lt;/span&gt; (&lt;span class="n"&gt;args&lt;/span&gt;.&lt;span class="n"&gt;length&lt;/span&gt; == &lt;span class="mi"&gt;3&lt;/span&gt;) {
        &lt;span class="n"&gt;datetime&lt;/span&gt; = &lt;span class="n"&gt;args&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;];
        &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt; = &lt;span class="n"&gt;toInt&lt;/span&gt;(&lt;span class="n"&gt;args&lt;/span&gt;[&lt;span class="mi"&gt;2&lt;/span&gt;]);
    }
    &lt;span class="k"&gt;else&lt;/span&gt; {
        &lt;span class="n"&gt;d_time&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;getUTCtime&lt;/span&gt;;
        &lt;span class="n"&gt;datetime&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;toString&lt;/span&gt;(&lt;span class="n"&gt;now&lt;/span&gt;);
        &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt; = &lt;span class="n"&gt;toInt&lt;/span&gt;(&lt;span class="n"&gt;args&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;]);
    }
    &lt;span class="n"&gt;writefln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;%s&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;DateEx&lt;/span&gt;(&lt;span class="n"&gt;datetime&lt;/span&gt;, &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt;));
}

&lt;span class="c"&gt;// eof&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7521/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7521/</guid></item><item><title>Dubhead's comment on 文字列型日時ののN秒後時間取得
</title><link>http://ja.doukaku.org/comment/7520/</link><description>



&lt;a href="http://ja.doukaku.org/204/"&gt;文字列型日時ののN秒後時間取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/204/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/204/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  D 2.0 + Phobos。
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;conv&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;;

&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;DateEx&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;, &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt;)
{
    &lt;span class="n"&gt;d_time&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;parse&lt;/span&gt;(&lt;span class="n"&gt;datetime&lt;/span&gt;);
    &lt;span class="n"&gt;d_time&lt;/span&gt; &lt;span class="n"&gt;new_datetime&lt;/span&gt; = &lt;span class="n"&gt;t&lt;/span&gt; + &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt; * &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;TicksPerSecond&lt;/span&gt;;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;toString&lt;/span&gt;(&lt;span class="n"&gt;new_datetime&lt;/span&gt;);
}

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt;[] &lt;span class="n"&gt;args&lt;/span&gt;)
{
    &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;datetime&lt;/span&gt;;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt;;
    &lt;span class="k"&gt;if&lt;/span&gt; (&lt;span class="n"&gt;args&lt;/span&gt;.&lt;span class="n"&gt;length&lt;/span&gt; == &lt;span class="mi"&gt;3&lt;/span&gt;) {
        &lt;span class="n"&gt;datetime&lt;/span&gt; = &lt;span class="n"&gt;args&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;];
        &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt; = &lt;span class="n"&gt;toInt&lt;/span&gt;(&lt;span class="n"&gt;args&lt;/span&gt;[&lt;span class="mi"&gt;2&lt;/span&gt;]);
    }
    &lt;span class="k"&gt;else&lt;/span&gt; {
        &lt;span class="n"&gt;d_time&lt;/span&gt; &lt;span class="n"&gt;now&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;getUTCtime&lt;/span&gt;;
        &lt;span class="n"&gt;datetime&lt;/span&gt; = &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;.&lt;span class="n"&gt;toString&lt;/span&gt;(&lt;span class="n"&gt;now&lt;/span&gt;);
        &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt; = &lt;span class="n"&gt;toInt&lt;/span&gt;(&lt;span class="n"&gt;args&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt;]);
    }
    &lt;span class="n"&gt;writefln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;%s&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;DateEx&lt;/span&gt;(&lt;span class="n"&gt;datetime&lt;/span&gt;, &lt;span class="n"&gt;tdelta_in_secs&lt;/span&gt;));
}

&lt;span class="c"&gt;// eof&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7520/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7520/</guid></item><item><title>ika's comment on LL Golf Hole 8 - 横向きのピラミッドを作る
</title><link>http://ja.doukaku.org/comment/7480/</link><description>



&lt;a href="http://ja.doukaku.org/203/"&gt;LL Golf Hole 8 - 横向きのピラミッドを作る&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/203/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/203/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;標準入力から。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6
7&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;conv&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; = &lt;span class="n"&gt;to&lt;/span&gt;!(&lt;span class="kt"&gt;uint&lt;/span&gt;)(&lt;span class="n"&gt;chomp&lt;/span&gt;(&lt;span class="n"&gt;readln&lt;/span&gt;));
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt;; &lt;span class="mf"&gt;1.&lt;/span&gt;.&lt;span class="n"&gt;n&lt;/span&gt;*&lt;span class="mi"&gt;2&lt;/span&gt;)
        &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;.&lt;span class="n"&gt;repeat&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt;&amp;lt;&lt;span class="n"&gt;n&lt;/span&gt;?&lt;span class="n"&gt;i&lt;/span&gt;:&lt;span class="mi"&gt;2&lt;/span&gt;*&lt;span class="n"&gt;n&lt;/span&gt;-&lt;span class="n"&gt;i&lt;/span&gt;));
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7480/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7480/</guid></item><item><title>ika's comment on LL Golf Hole 5 - 最上位の桁を数え上げる
</title><link>http://ja.doukaku.org/comment/7266/</link><description>



&lt;a href="http://ja.doukaku.org/200/"&gt;LL Golf Hole 5 - 最上位の桁を数え上げる&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/200/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/200/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;標準入力から。&lt;/p&gt;
&lt;p&gt;この手の文字列操作はガーベジコレクタのおかげでたやすくできます。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; = &lt;span class="n"&gt;chomp&lt;/span&gt;(&lt;span class="n"&gt;readln&lt;/span&gt;), &lt;span class="n"&gt;s&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;.&lt;span class="n"&gt;dup&lt;/span&gt;;
    &lt;span class="k"&gt;while&lt;/span&gt;(&lt;span class="n"&gt;s&lt;/span&gt;.&lt;span class="n"&gt;length&lt;/span&gt; &amp;lt; &lt;span class="n"&gt;t&lt;/span&gt;.&lt;span class="n"&gt;length&lt;/span&gt; || &lt;span class="n"&gt;s&lt;/span&gt; &amp;lt;= &lt;span class="n"&gt;t&lt;/span&gt;) {
        &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="n"&gt;s&lt;/span&gt;);
        
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;s&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;] &amp;lt; &lt;span class="sc"&gt;&amp;#39;9&amp;#39;&lt;/span&gt;) {
            &lt;span class="n"&gt;s&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;]++;
        } &lt;span class="k"&gt;else&lt;/span&gt; {
            &lt;span class="n"&gt;s&lt;/span&gt; = &lt;span class="s"&gt;&amp;quot;10&amp;quot;&lt;/span&gt; ~ &lt;span class="n"&gt;s&lt;/span&gt;[&lt;span class="mi"&gt;1&lt;/span&gt; .. $];
        }
    }
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7266/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7266/</guid></item><item><title>ika's comment on LL Golf Hole 6 - 10進数を2進数に基数変換する
</title><link>http://ja.doukaku.org/comment/7264/</link><description>



&lt;a href="http://ja.doukaku.org/201/"&gt;LL Golf Hole 6 - 10進数を2進数に基数変換する&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/201/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/201/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;標準入力から一行読み込んで変換。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;conv&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="n"&gt;writefln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;%b&amp;quot;&lt;/span&gt;,&lt;span class="n"&gt;to&lt;/span&gt;!(&lt;span class="kt"&gt;int&lt;/span&gt;)(&lt;span class="n"&gt;strip&lt;/span&gt;(&lt;span class="n"&gt;readln&lt;/span&gt;)));
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7264/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7264/</guid></item><item><title>ika's comment on LL Golf Hole 4 - 文章から単語の索引を作る 
</title><link>http://ja.doukaku.org/comment/7079/</link><description>



&lt;a href="http://ja.doukaku.org/198/"&gt;LL Golf Hole 4 - 文章から単語の索引を作る &lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/198/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/198/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;文章はコンパイル時に文字列リテラルとして取り込むので、dmdの-Jオプションでgpl.txtのあるディレクトリを指定してください。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;regexp&lt;/span&gt;;

&lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt; = &lt;span class="k"&gt;import&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;gpl.txt&amp;quot;&lt;/span&gt;);

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="kt"&gt;int&lt;/span&gt;[][&lt;span class="n"&gt;string&lt;/span&gt;] &lt;span class="n"&gt;dict&lt;/span&gt;;
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;re&lt;/span&gt; = &lt;span class="n"&gt;RegExp&lt;/span&gt;(&lt;span class="s"&gt;r&amp;quot;[\w-]+&amp;quot;&lt;/span&gt;);
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;i&lt;/span&gt;, &lt;span class="n"&gt;line&lt;/span&gt;; &lt;span class="n"&gt;text&lt;/span&gt;.&lt;span class="n"&gt;splitlines&lt;/span&gt;()) {
        &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;m&lt;/span&gt;; &lt;span class="n"&gt;re&lt;/span&gt;.&lt;span class="n"&gt;search&lt;/span&gt;(&lt;span class="n"&gt;line&lt;/span&gt;)) {
            &lt;span class="n"&gt;dict&lt;/span&gt;[&lt;span class="n"&gt;m&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;].&lt;span class="n"&gt;tolower&lt;/span&gt;()] ~= &lt;span class="n"&gt;i&lt;/span&gt; + &lt;span class="mi"&gt;1&lt;/span&gt;;
        }
    }
    &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="n"&gt;dict&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7079/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7079/</guid></item><item><title>ika's comment on LL Golf Hole 3 - 13日の金曜日を数え上げる
</title><link>http://ja.doukaku.org/comment/7015/</link><description>



&lt;a href="http://ja.doukaku.org/197/"&gt;LL Golf Hole 3 - 13日の金曜日を数え上げる&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/197/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/197/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;date&lt;/span&gt;;

&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Friday&lt;/span&gt; = &lt;span class="mi"&gt;5&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;(){
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;count&lt;/span&gt; = &lt;span class="mi"&gt;0&lt;/span&gt;;
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;day&lt;/span&gt;; &lt;span class="n"&gt;Day&lt;/span&gt;(&lt;span class="n"&gt;getUTCtime&lt;/span&gt;) .. &lt;span class="n"&gt;MakeDay&lt;/span&gt;(&lt;span class="mi"&gt;2014&lt;/span&gt;, &lt;span class="mi"&gt;1&lt;/span&gt;, &lt;span class="mi"&gt;1&lt;/span&gt;)) {
        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;date&lt;/span&gt; = &lt;span class="n"&gt;MakeDate&lt;/span&gt;(&lt;span class="n"&gt;day&lt;/span&gt;, &lt;span class="mi"&gt;0&lt;/span&gt;);
        &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;WeekDay&lt;/span&gt;(&lt;span class="n"&gt;date&lt;/span&gt;) == &lt;span class="n"&gt;Friday&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class="n"&gt;DateFromTime&lt;/span&gt;(&lt;span class="n"&gt;date&lt;/span&gt;) == &lt;span class="mi"&gt;13&lt;/span&gt;) {
            &lt;span class="n"&gt;writefln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;%04d-%02d-%02d&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;YearFromTime&lt;/span&gt;(&lt;span class="n"&gt;date&lt;/span&gt;), &lt;span class="n"&gt;MonthFromTime&lt;/span&gt;(&lt;span class="n"&gt;date&lt;/span&gt;) + &lt;span class="mi"&gt;1&lt;/span&gt;, &lt;span class="n"&gt;DateFromTime&lt;/span&gt;(&lt;span class="n"&gt;date&lt;/span&gt;));
            ++&lt;span class="n"&gt;count&lt;/span&gt;;
        }
    }
    &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="n"&gt;count&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7015/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7015/</guid></item><item><title>ika's comment on LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする
</title><link>http://ja.doukaku.org/comment/6974/</link><description>



&lt;a href="http://ja.doukaku.org/196/"&gt;LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/196/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/196/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;regexp&lt;/span&gt;;

&lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;totitle&lt;/span&gt;(&lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt;) {
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;str&lt;/span&gt;.&lt;span class="n"&gt;sub&lt;/span&gt;(&lt;span class="s"&gt;r&amp;quot;\b[a-z]&amp;quot;&lt;/span&gt;, (&lt;span class="n"&gt;RegExp&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;){&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;m&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt;].&lt;span class="n"&gt;toupper&lt;/span&gt;();}, &lt;span class="s"&gt;&amp;quot;g&amp;quot;&lt;/span&gt;);
}

&lt;span class="k"&gt;unittest&lt;/span&gt; {
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;LL future&amp;quot;&lt;/span&gt;.&lt;span class="n"&gt;totitle&lt;/span&gt;() == &lt;span class="s"&gt;&amp;quot;LL Future&amp;quot;&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;LL day and night&amp;quot;&lt;/span&gt;.&lt;span class="n"&gt;totitle&lt;/span&gt;() == &lt;span class="s"&gt;&amp;quot;LL Day And Night&amp;quot;&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6974/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6974/</guid></item><item><title>ika's comment on 循環関数
</title><link>http://ja.doukaku.org/comment/6875/</link><description>



&lt;a href="http://ja.doukaku.org/180/"&gt;循環関数&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/180/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/180/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;modular&lt;/span&gt;(&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;, &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;low&lt;/span&gt;, &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;high&lt;/span&gt;) {
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;low&lt;/span&gt; + (&lt;span class="n"&gt;n&lt;/span&gt; + &lt;span class="n"&gt;high&lt;/span&gt; - &lt;span class="n"&gt;low&lt;/span&gt; + &lt;span class="mi"&gt;1&lt;/span&gt;) % (&lt;span class="n"&gt;high&lt;/span&gt; - &lt;span class="n"&gt;low&lt;/span&gt; + &lt;span class="mi"&gt;1&lt;/span&gt;);
}

&lt;span class="k"&gt;unittest&lt;/span&gt; {
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(&lt;span class="mi"&gt;0&lt;/span&gt;,&lt;span class="mi"&gt;100&lt;/span&gt;,&lt;span class="mi"&gt;200&lt;/span&gt;)   == &lt;span class="mi"&gt;100&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(&lt;span class="mi"&gt;50&lt;/span&gt;,&lt;span class="mi"&gt;100&lt;/span&gt;,&lt;span class="mi"&gt;200&lt;/span&gt;)  == &lt;span class="mi"&gt;150&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(&lt;span class="mi"&gt;100&lt;/span&gt;,&lt;span class="mi"&gt;100&lt;/span&gt;,&lt;span class="mi"&gt;200&lt;/span&gt;) == &lt;span class="mi"&gt;200&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(&lt;span class="mi"&gt;101&lt;/span&gt;,&lt;span class="mi"&gt;100&lt;/span&gt;,&lt;span class="mi"&gt;200&lt;/span&gt;) == &lt;span class="mi"&gt;100&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(-&lt;span class="mi"&gt;1&lt;/span&gt;,&lt;span class="mi"&gt;100&lt;/span&gt;,&lt;span class="mi"&gt;200&lt;/span&gt;)  == &lt;span class="mi"&gt;200&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(&lt;span class="mi"&gt;1&lt;/span&gt;,-&lt;span class="mi"&gt;5&lt;/span&gt;,&lt;span class="mi"&gt;200&lt;/span&gt;)    ==  -&lt;span class="mi"&gt;4&lt;/span&gt;);
    &lt;span class="k"&gt;assert&lt;/span&gt;(&lt;span class="n"&gt;modular&lt;/span&gt;(-&lt;span class="mi"&gt;500&lt;/span&gt;,-&lt;span class="mi"&gt;5&lt;/span&gt;,-&lt;span class="mi"&gt;1&lt;/span&gt;)  ==  -&lt;span class="mi"&gt;5&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6875/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6875/</guid></item><item><title>ika's comment on 2次元ランダムウォーク
</title><link>http://ja.doukaku.org/comment/6865/</link><description>



&lt;a href="http://ja.doukaku.org/193/"&gt;2次元ランダムウォーク&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/193/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/193/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;出力はSVGにしてみました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;math&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;random&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="n"&gt;write&lt;/span&gt;(&lt;span class="s"&gt;`&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;!DOCTYPE svg PUBLIC &amp;quot;-//W3C//DTD SVG 1.1//EN&amp;quot; &amp;quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;svg xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; version=&amp;quot;1.1&amp;quot; width=&amp;quot;600&amp;quot; height=&amp;quot;600&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;title&amp;gt;ランダムウォーク&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;g transform=&amp;quot;translate(300,300)&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;circle style=&amp;quot;fill:blue&amp;quot; cx=&amp;quot;0&amp;quot; cy=&amp;quot;0&amp;quot; r=&amp;quot;5&amp;quot;/&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;path style=&amp;quot;fill:none; stroke:black; stroke-width:1&amp;quot; d=&amp;quot;M 0 0`&lt;/span&gt;);

    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;rgen&lt;/span&gt; = &lt;span class="n"&gt;Random&lt;/span&gt;(&lt;span class="n"&gt;unpredictableSeed&lt;/span&gt;);
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;uniform&lt;/span&gt; = &lt;span class="n"&gt;UniformDistribution&lt;/span&gt;!(&lt;span class="kt"&gt;real&lt;/span&gt;)(&lt;span class="mi"&gt;0&lt;/span&gt;, &lt;span class="n"&gt;PI&lt;/span&gt; * &lt;span class="mi"&gt;2&lt;/span&gt;);
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;_&lt;/span&gt;; &lt;span class="mi"&gt;0&lt;/span&gt; .. &lt;span class="mi"&gt;10000&lt;/span&gt;) {
        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;angle&lt;/span&gt; = &lt;span class="n"&gt;uniform&lt;/span&gt;.&lt;span class="n"&gt;next&lt;/span&gt;(&lt;span class="n"&gt;rgen&lt;/span&gt;);
        &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;move&lt;/span&gt; = &lt;span class="n"&gt;expi&lt;/span&gt;(&lt;span class="n"&gt;angle&lt;/span&gt;) * &lt;span class="mi"&gt;10&lt;/span&gt;;
        &lt;span class="n"&gt;writef&lt;/span&gt;(&lt;span class="s"&gt;` l %.2f %.2f`&lt;/span&gt;, &lt;span class="n"&gt;move&lt;/span&gt;.&lt;span class="n"&gt;re&lt;/span&gt;, &lt;span class="n"&gt;move&lt;/span&gt;.&lt;span class="n"&gt;im&lt;/span&gt;);
    }

    &lt;span class="n"&gt;write&lt;/span&gt;(&lt;span class="s"&gt;`&amp;quot;/&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;/g&amp;gt;&lt;/span&gt;
&lt;span class="s"&gt;&amp;lt;/svg&amp;gt;`&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6865/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6865/</guid></item><item><title>ika's comment on LL Golf Hole 1 - tinyurl.comを使ってURLを短縮する
</title><link>http://ja.doukaku.org/comment/6858/</link><description>



&lt;a href="http://ja.doukaku.org/192/"&gt;LL Golf Hole 1 - tinyurl.comを使ってURLを短縮する&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/192/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/192/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;socket&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;socketstream&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="k"&gt;auto&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; = &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;SocketStream&lt;/span&gt;(&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;TcpSocket&lt;/span&gt;(&lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="n"&gt;InternetAddress&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;tinyurl.com&amp;quot;&lt;/span&gt;, &lt;span class="mi"&gt;80&lt;/span&gt;)));
    &lt;span class="k"&gt;scope&lt;/span&gt;(&lt;span class="n"&gt;exit&lt;/span&gt;) &lt;span class="n"&gt;s&lt;/span&gt;.&lt;span class="n"&gt;close&lt;/span&gt;;
    
    &lt;span class="n"&gt;s&lt;/span&gt;.&lt;span class="n"&gt;writeString&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;GET /api-create.php?url=http://ll.jus.or.jp/2008/info/xgihyo HTTP/1.1\r\nHost: tinyurl.com\r\n\r\n&amp;quot;&lt;/span&gt;);
    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="kt"&gt;char&lt;/span&gt;[] &lt;span class="n"&gt;line&lt;/span&gt;; &lt;span class="n"&gt;s&lt;/span&gt;) &lt;span class="k"&gt;if&lt;/span&gt;(&lt;span class="n"&gt;line&lt;/span&gt;.&lt;span class="n"&gt;startsWith&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;http://&amp;quot;&lt;/span&gt;)) &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="n"&gt;line&lt;/span&gt;);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6858/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6858/</guid></item><item><title>ika's comment on 環境変数の取得
</title><link>http://ja.doukaku.org/comment/6796/</link><description>



&lt;a href="http://ja.doukaku.org/191/"&gt;環境変数の取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/191/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/191/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;変数名から値を得るだけなら、getenv 関数があります。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4
5&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;private&lt;/span&gt; &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;, &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;process&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;() {
    &lt;span class="n"&gt;writeln&lt;/span&gt;(&lt;span class="n"&gt;getenv&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;PATH&amp;quot;&lt;/span&gt;));
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6796/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6796/</guid></item><item><title>Dubhead's comment on 環境変数の取得
</title><link>http://ja.doukaku.org/comment/6789/</link><description>



&lt;a href="http://ja.doukaku.org/191/"&gt;環境変数の取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/191/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/191/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;D 2.0 + 標準ライブラリ (Phobos)、Linuxで動作確認。連想配列を作ってしまう方針で。
Phobosには環境変数APIが無いので、Cの environ(7) を直接呼び出します。
C文字列をDのstringに変換する処理が面倒ですね。もっとうまいやり方があるような気がする...&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt; 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;stdio&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;c&lt;/span&gt;.&lt;span class="n"&gt;linux&lt;/span&gt;.&lt;span class="n"&gt;linux&lt;/span&gt;: &lt;span class="n"&gt;environ&lt;/span&gt;;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;.&lt;span class="n"&gt;c&lt;/span&gt;.&lt;span class="n"&gt;string&lt;/span&gt;: &lt;span class="n"&gt;strlen&lt;/span&gt;;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;()
{
    &lt;span class="kt"&gt;char&lt;/span&gt;** &lt;span class="n"&gt;p&lt;/span&gt;;
    &lt;span class="n"&gt;string&lt;/span&gt;[&lt;span class="n"&gt;string&lt;/span&gt;] &lt;span class="n"&gt;envAA&lt;/span&gt;;
    &lt;span class="k"&gt;for&lt;/span&gt; (&lt;span class="n"&gt;p&lt;/span&gt; = &lt;span class="n"&gt;environ&lt;/span&gt;; *&lt;span class="n"&gt;p&lt;/span&gt; != &lt;span class="kc"&gt;null&lt;/span&gt;; &lt;span class="n"&gt;p&lt;/span&gt;++) {
        &lt;span class="kt"&gt;char&lt;/span&gt;[] &lt;span class="n"&gt;key_and_value&lt;/span&gt; = (*&lt;span class="n"&gt;p&lt;/span&gt;)[&lt;span class="mi"&gt;0&lt;/span&gt; .. &lt;span class="n"&gt;strlen&lt;/span&gt;(*&lt;span class="n"&gt;p&lt;/span&gt;)];    &lt;span class="c"&gt;// &amp;quot;FOO=BAR&amp;quot;&lt;/span&gt;
        &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;iEqual&lt;/span&gt; = &lt;span class="n"&gt;key_and_value&lt;/span&gt;.&lt;span class="n"&gt;find&lt;/span&gt;(&lt;span class="sc"&gt;&amp;#39;=&amp;#39;&lt;/span&gt;);    &lt;span class="c"&gt;// index to &amp;#39;=&amp;#39;&lt;/span&gt;
        &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt; = &lt;span class="k"&gt;cast&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt;)(&lt;span class="n"&gt;key_and_value&lt;/span&gt;[&lt;span class="mi"&gt;0&lt;/span&gt; .. &lt;span class="n"&gt;iEqual&lt;/span&gt;]);
        &lt;span class="n"&gt;string&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; = &lt;span class="k"&gt;cast&lt;/span&gt;(&lt;span class="n"&gt;string&lt;/span&gt;)(&lt;span class="n"&gt;key_and_value&lt;/span&gt;[&lt;span class="n"&gt;iEqual&lt;/span&gt; + &lt;span class="mi"&gt;1&lt;/span&gt; .. $]);
        &lt;span class="n"&gt;envAA&lt;/span&gt;[&lt;span class="n"&gt;key&lt;/span&gt;] = &lt;span class="n"&gt;value&lt;/span&gt;;
    }
    &lt;span class="n"&gt;envAA&lt;/span&gt;.&lt;span class="n"&gt;rehash&lt;/span&gt;;

    &lt;span class="k"&gt;foreach&lt;/span&gt;(&lt;span class="n"&gt;key&lt;/span&gt;, &lt;span class="n"&gt;value&lt;/span&gt;; &lt;span class="n"&gt;envAA&lt;/span&gt;) {
        &lt;span class="n"&gt;writefln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;%s: %s&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;key&lt;/span&gt;, &lt;span class="n"&gt;value&lt;/span&gt;);
    }
    &lt;span class="n"&gt;writefln&lt;/span&gt;(&lt;span class="s"&gt;&amp;quot;PATH = %s&amp;quot;&lt;/span&gt;, &lt;span class="n"&gt;envAA&lt;/span&gt;[&lt;span class="s"&gt;&amp;quot;PATH&amp;quot;&lt;/span&gt;]);
}
&lt;/pre&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    &lt;div align = "right" style="margin-right: 1em;"&gt;
      [&lt;a href="http://ja.doukaku.org/lang/d/"&gt;
      D
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6789/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6789/</guid></item></channel></rss>