<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Latest comments for language 'Erlang' on doukaku.org</title><link>http://ja.doukaku.org/lang/erlang/</link><description>Latest comments for language 'Erlang' on doukaku.org(long)</description><language>ja</language><lastBuildDate>Tue, 16 Mar 2010 06:37:00 -0000</lastBuildDate><item><title>yamamoto's comment on IPv4アドレスのマスクの変換
</title><link>http://ja.doukaku.org/comment/9149/</link><description>



&lt;a href="http://ja.doukaku.org/253/"&gt;IPv4アドレスのマスクの変換&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/253/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/253/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;Scala(#9133)をErlangに移植しました。
効率はともかく、例外処理をしているので・・・&lt;/p&gt;
&lt;p&gt;関数の仕様は、Erlang的で、成功時は
{ok,****}
のようなタプルが返ります。失敗時はok以外のアトム。&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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(netmask).
-export([numbits_of/1,from_numbits/1,test/0]).

numbits_of(StrMask) -&amp;gt; 
    try
        {ok,Mask} = inet_parse:address(StrMask) ,
        {Class,MaskByte} = case Mask of
                        {255,255,255,X} -&amp;gt; {24,X};
                        {255,255,  X,0} -&amp;gt; {16,X};
                        {255,  X,  0,0} -&amp;gt; { 8,X};
                        _ -&amp;gt; throw(&amp;quot;bad mask&amp;quot;)
                        end,
        {ok,
        case MaskByte of
            (256-  1)-&amp;gt; 8;
            (256-  2)-&amp;gt; 7;
            (256-  4)-&amp;gt; 6;
            (256-  8)-&amp;gt; 5;
            (256- 16)-&amp;gt; 4;
            (256- 32)-&amp;gt; 3;
            (256- 64)-&amp;gt; 2;
            (256-128)-&amp;gt; 1;
            0        -&amp;gt; 0
        end + Class }% &amp;lt;--- result
    catch
        throw:E -&amp;gt; {thrown,E};
        exit :E -&amp;gt; {exited,E};
        error:E -&amp;gt; {error ,E}
    end.

from_numbits(Numbits)-&amp;gt;
    try
        {Class,Maskbits} = 
                        case Numbits of
                            N when N&amp;gt;=24 -&amp;gt; {24,N-24} ;
                            N when N&amp;gt;=16 -&amp;gt; {16,N-16} ;
                            N when N&amp;gt;= 8 -&amp;gt; { 8,N- 8} 
                        end ,
        Maskbyte = 
                case Maskbits of 
                    8 -&amp;gt; (256-  1) ;
                    7 -&amp;gt; (256-  2) ;
                    6 -&amp;gt; (256-  4) ;
                    5 -&amp;gt; (256-  8) ;
                    4 -&amp;gt; (256- 16) ;
                    3 -&amp;gt; (256- 32) ;
                    2 -&amp;gt; (256- 64) ;
                    1 -&amp;gt; (256-128) ;
                    0 -&amp;gt; 0
                end ,
        %
        {ok , 
        case Class of
            24 -&amp;gt; inet_parse:ntoa( {255,255,255,Maskbyte} ) ;
            16 -&amp;gt; inet_parse:ntoa( {255,255,Maskbyte  ,0} ) ;
            8  -&amp;gt; inet_parse:ntoa( {255,Maskbyte    ,0,0} ) 
        end }% &amp;lt;--- result
    catch
        throw:E -&amp;gt; {thrown,E};
        exit :E -&amp;gt; {exited,E};
        error:E -&amp;gt; {error ,E}
    end.

test()-&amp;gt;
    lists:foreach(fun(I)-&amp;gt;
                    {ok , M} = from_numbits(I),
                    {ok , N} = numbits_of(M),
                    io:format(&amp;quot;Numbits=~p , Mask=~p , Result=~p~n&amp;quot;,[I,M,(I==N)])
                  end , lists:seq(8,31) ).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/9149/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/9149/</guid></item><item><title>yamamoto's comment on ファイルサイズの取得
</title><link>http://ja.doukaku.org/comment/9147/</link><description>



&lt;a href="http://ja.doukaku.org/243/"&gt;ファイルサイズの取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/243/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/243/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;Erlang初投稿です。よろしくお願いします。
とりあえず、システムコールを呼ぶ回数を１回にしました。
erlide(Eclipse)で確認しました。&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(file_size).
-export([file_size/1]).

-include_lib(&amp;quot;kernel/include/file.hrl&amp;quot;).

file_size(Name) -&amp;gt;
    try file:read_file_info(Name) of
        {ok,Fileinfo} -&amp;gt;
            case Fileinfo#file_info.type of
                regular -&amp;gt;
                    io:format(&amp;quot;~B~n&amp;quot;,[Fileinfo#file_info.size]);
                _ -&amp;gt; ok % except file
            end;
        _ -&amp;gt; ok % cannot get infomation
    catch
        _ -&amp;gt; ok % exception
    end.
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/9147/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/9147/</guid></item><item><title>vtwntmtn's comment on ファイルサイズの取得
</title><link>http://ja.doukaku.org/comment/8887/</link><description>



&lt;a href="http://ja.doukaku.org/243/"&gt;ファイルサイズの取得&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/243/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/243/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;p&gt;file_size.erlで保存し、以下のように実行します。:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
$ erl -noshell -s file_size file_size file_size.erl -s init stop
189
&lt;/pre&gt;
&lt;p&gt;存在しないファイル（例えばdummy.txtとする）を指定すると、何も表示されません。:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
$ erl -noshell -s file_size file_size dummy.txt -s init stop
&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(file_size).
-export([file_size/1]).

file_size(Name) -&amp;gt;
    case filelib:is_file(Name) of
        false -&amp;gt; ok;
        true -&amp;gt; io:format(&amp;quot;~B~n&amp;quot;, [filelib:file_size(Name)])
    end.
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/8887/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/8887/</guid></item><item><title>vtwntmtn's comment on 例外処理
</title><link>http://ja.doukaku.org/comment/8884/</link><description>



&lt;a href="http://ja.doukaku.org/245/"&gt;例外処理&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/245/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/245/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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(exception).
-export([exception/0]).

f() -&amp;gt; throw(&amp;quot;exception&amp;quot;).

exception() -&amp;gt;
    X =  try f()
    catch
        throw : Y -&amp;gt; &amp;quot;catch : &amp;quot; ++ Y
    end,
    io:format(X).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/8884/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/8884/</guid></item><item><title>cooldaemon's comment on 疑似並行処理
</title><link>http://ja.doukaku.org/comment/8013/</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;Erlang のプレーンな例は、他の方が解答されていましたので、あえて lists ライブラリを積極的に使ったパターンを投稿してみます。
ミソは、終了メッセージの選択受信かな？&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(doukaku215).
-author(&amp;#39;cooldaemon@gmail.com&amp;#39;).
-export([run/0]).

run() -&amp;gt;
  Pid = self(),
  lists:foreach(
    fun (CPid) -&amp;gt; receive {CPid, finish} -&amp;gt; ok end end,
    lists:map(
      fun (Cs) -&amp;gt; spawn(fun () -&amp;gt;
        lists:foreach(fun (C) -&amp;gt; io:fwrite(&amp;quot;~s&amp;quot;, [[C]]) end, Cs),
        Pid ! {self(), finish}
      end) end,
      lists:map(fun (N) -&amp;gt; lists:seq(N, N+8) end, [$1, $A])
    )
  ).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/8013/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/8013/</guid></item><item><title>vtwntmtn's comment on 疑似並行処理
</title><link>http://ja.doukaku.org/comment/7996/</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;pre class='compact'&gt;以下のようにして実行します。

erlc para.erl 
erl -noshell -s para para -s init stop&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(para).
-export([para/0]).

proc(Pid, []) -&amp;gt; Pid ! void;
proc(Pid, [Chr | Str]) -&amp;gt;
    io:format(&amp;quot;~s&amp;quot;, [[Chr]]),
    proc(Pid, Str).

para() -&amp;gt;
    Pid = self(),
    spawn(fun() -&amp;gt; proc(Pid, &amp;quot;0123456789&amp;quot;) end),
    spawn(fun() -&amp;gt; proc(Pid, &amp;quot;ABCDEFGHIJ&amp;quot;) end),
    receive _ -&amp;gt; receive _ -&amp;gt; void end end.
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7996/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7996/</guid></item><item><title>匿名's comment on タブ区切りデータの処理
</title><link>http://ja.doukaku.org/comment/7753/</link><description>



&lt;a href="http://ja.doukaku.org/209/"&gt;タブ区切りデータの処理&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/209/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/209/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;実行方法：
$ cat hoge.txt
ID	Surname	Forename	Age
1	Sato	Hanako	17
0	Suzuki	Taro	18

$ erlc doukaku7723.erl
$ erl -noshell -s doukaku7723 main hoge.txt -s init stop
ID	Forename	Surname	Age
0	Taro	Suzuki	19
1	Hanako	Sato	18&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(doukaku7723).
-export([main/1]).

main(Filename) -&amp;gt;
    {ok, Bin} = file:read_file(Filename),
    A1 = string:tokens(binary_to_list(Bin), &amp;quot;\r\n&amp;quot;),
    [H | T] = lists:map(curry(flip(fun string:tokens/2), &amp;quot;\t&amp;quot;), A1),
    A2 = lists:map(fun swap23inc4/1, T),
    A3 = lists:sort(fun([E1|_], [E2|_]) -&amp;gt; list_to_integer(E1) &amp;lt; list_to_integer(E2) end, A2),
    A4 = lists:map(func_comp(fun lists:concat/1, curry(fun intersperse/2, &amp;quot;\t&amp;quot;)), [swap23(H) | A3]),
    A5 = lists:concat(intersperse(&amp;quot;\r\n&amp;quot;, A4)),
    io:format(&amp;quot;~s~n&amp;quot;, [A5]).

swap23([A,B,C,D | Rest]) -&amp;gt; [A,C,B,D|Rest].
swap23inc4([A,B,C,D | Rest]) -&amp;gt; [A,C,B,integer_to_list(1+list_to_integer(D)) | Rest].

intersperse(_, []) -&amp;gt; [];
intersperse(_, [X]) -&amp;gt; [X];
intersperse(Sep, [X | XS]) -&amp;gt; [X, Sep | intersperse(Sep, XS)].
curry(F, A) -&amp;gt; fun(B) -&amp;gt; F(A, B) end.
flip(F) -&amp;gt; fun(A, B) -&amp;gt; F(B, A) end.
func_comp(F, G) -&amp;gt; fun(X) -&amp;gt; F(G(X)) end.
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7753/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7753/</guid></item><item><title>kgbu's comment on echoクライアント
</title><link>http://ja.doukaku.org/comment/7677/</link><description>



&lt;a href="http://ja.doukaku.org/199/"&gt;echoクライアント&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/199/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/199/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;div class="section"&gt;
&lt;p&gt;echoのプロトコル(RFC862)に詳しくないのですが、サーバ側からデータの終わり(eofなど)が返ってこないようなので、タイムアウト(10秒)を設定してみました（汗&lt;/p&gt;
&lt;p&gt;送信したデータと比較して、同じならcloseする条件もつけました。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;escriptが利用可能な環境であれば、以下のようにコマンドラインから実行可能です。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;$ ./スクリプト名 localhost 7 &amp;lt; testfile &amp;gt; newfile&lt;/p&gt;
&lt;/div&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;#!/usr/bin/env escript
main([Hostname, Port])-&amp;gt;
        Str = loop(io:get_line(standard_io,&amp;#39;&amp;#39;), []),
        Res = gen_tcp:connect(Hostname,
                        list_to_integer(Port),
                        [binary, {packet, 0}]),
        case Res of
                {ok, Socket} -&amp;gt;
                        ok = gen_tcp:send(Socket, Str),
                        receive_data(Socket, [], lists:flatten(Str));
                {error, Why} -&amp;gt; io:format(&amp;quot;error ~p~n&amp;quot;, [Why]), exit(eError)
        end.

receive_data(Socket, _Original, _Original) -&amp;gt;
                gen_tcp:close(Socket);
receive_data(Socket, SoFar, Original) -&amp;gt;
        receive
                {tcp, Socket, Bin} -&amp;gt;
                        Lines = binary_to_list(Bin),
                        io:format(&amp;quot;~s&amp;quot;, [Lines]),
                        receive_data(Socket, lists:flatten(SoFar ++ [Lines]), Original);
                {tcp_closed, Socket} -&amp;gt;
                        ok
        after 10000 -&amp;gt;
                gen_tcp:close(Socket)
        end.

loop(eof, SoFar)-&amp;gt;
    lists:reverse(SoFar);
loop(Data, SoFar) -&amp;gt;
    loop(io:get_line(&amp;#39;&amp;#39;), [Data|SoFar]).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7677/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7677/</guid></item><item><title>kgbu's comment on 2^i * 3^j * 5^k なる整数
</title><link>http://ja.doukaku.org/comment/7673/</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;div class="section"&gt;
&lt;p&gt;しらみつぶしに計算してからsortする方式ですが、その境界の目処はたてるようにしてみました。 http://en.wikipedia.org/wiki/Image:Regular_divisibility_lattice.svg　の図を、3次元空間のある象限に存在する三角錐とみて、それを含む直方体の中の格子点を取り出します。最低でも、およそ5/6が無駄なデータなのですが、うまく三角錐の部分だけの格子点を巡回する順序を決めるアルゴリズムが思い浮かばなかったので、そのままにしてあります。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;$ erlc スクリプトのファイル名&lt;/p&gt;
&lt;p&gt;$ erl -noshell -s len main 100 -s init stop &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;として実行します。&lt;/p&gt;
&lt;/div&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(len).
-export([main/1]).

main([N|_]) -&amp;gt;
        Limit = list_to_integer(atom_to_list(N)),
        Factor = math:pow(Limit * math:log(5) * math:log(2)/ (math:log(2) * math:log(3)), 1 / 3),
        L = lists:sort([round(math:pow(2, X)*math:pow(3,Y)*math:pow(5,Z)) ||
                 X &amp;lt;- lists:seq(0,round(1 + Factor * math:log(5) / math:log(2)) ),
                 Y &amp;lt;- lists:seq(0,round(1 + Factor * math:log(5) / math:log(3)) ),
                 Z &amp;lt;- lists:seq(0,round(1 + Factor))]),
        io:format(&amp;quot;~p~n&amp;quot;,[lists:sublist(L,Limit)]).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7673/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7673/</guid></item><item><title>匿名's comment on LL Golf Hole 8 - 横向きのピラミッドを作る
</title><link>http://ja.doukaku.org/comment/7504/</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;pre class='compact'&gt;実行するには

erlc pyramid.erl
erl -noshell -run pyramid main 自然数 -s init stop

としてください。
http://ja.doukaku.org/comment/7419/ とは違い、0 の場合エラーになります。
&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(pyramid).
-export([main/1]).

main([S])-&amp;gt;N=list_to_integer(S),[io:format(&amp;quot;~*c
&amp;quot;,[N-abs(M),$*])||M&amp;lt;-lists:seq(1-N,N-1)].
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7504/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7504/</guid></item><item><title>kgbu's comment on LL Golf Hole 8 - 横向きのピラミッドを作る
</title><link>http://ja.doukaku.org/comment/7420/</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;pre class='compact'&gt;#7419で投稿しましたが、push, popという関数名がそぐわない感じがしたので、
別のスタイルで書いてみました。
改行を含む文字列を前後両側に伸ばしていく感じです。
実行方法は#7419同様です。

&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(pyramid).
-export([main/1]).

main([N])-&amp;gt;
        Len=list_to_integer(atom_to_list(N)),
        s(Len,p(Len)).

s(0,_)-&amp;gt;0;
s(1,S)-&amp;gt;io:format(&amp;quot;~s&amp;quot;, [S]);
s(N,S)-&amp;gt;s(N - 1, p(N - 1) ++ S ++ p(N - 1)).

p(0)-&amp;gt; [$\n];
p(N)-&amp;gt; &amp;quot;*&amp;quot; ++ p(N - 1).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7420/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7420/</guid></item><item><title>kgbu's comment on LL Golf Hole 8 - 横向きのピラミッドを作る
</title><link>http://ja.doukaku.org/comment/7419/</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;pre class='compact'&gt;実行するには、以下のようにコマンド入力します。
コマンドの引数として数値を与えています。
一応、０のケースも入れておきました。

erlc スクリプトファイル名
erl -noshell -s pyramid main 自然数 -s init stop

実行例
$ erl -noshell -s pyramid main 0 -s init stop

$ erl -noshell -s pyramid main 1 -s init stop
*

$ erl -noshell -s pyramid main 3 -s init stop
*
**
***
**
*
&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(pyramid).
-export([main/1]).

main([N])-&amp;gt; push(list_to_integer(atom_to_list(N)),[]).

push(0,_)-&amp;gt;0;
push(1,L)-&amp;gt;io:format(&amp;quot;~s~n&amp;quot;,[L ++ &amp;quot;*&amp;quot;]), pop(L ++ &amp;quot;*&amp;quot;);
push(N,L)-&amp;gt;io:format(&amp;quot;~s~n&amp;quot;,[L ++ &amp;quot;*&amp;quot;]), push(N - 1, L ++ &amp;quot;*&amp;quot;).

pop(&amp;quot;*&amp;quot;)-&amp;gt; 0;
pop([_|L])-&amp;gt; io:format(&amp;quot;~s~n&amp;quot;,[L]), pop(L).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7419/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7419/</guid></item><item><title>kgbu's comment on LL Golf Hole 7 - バイト数を読みやすくする
</title><link>http://ja.doukaku.org/comment/7415/</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;pre class='compact'&gt;実行する場合は以下のようにコマンドを実行します。
数値はコマンドの引数として与えます。

erlc ファイル名
erl -noshell -s kuraidori put 数値 -s init stop

実行例
$ erl -noshell -s kuraidori put 1234567890 -s init stop
1.2G
$ erl -noshell -s kuraidori put 12345678901234 -s init stop
12.3T&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(kuraidori).
-export([put/1]).

put([S]) -&amp;gt; loop(list_to_integer(atom_to_list(S)),&amp;quot; KMGTPEZY&amp;quot;).

loop(S,[H|[]]) -&amp;gt; pr(S,H);
loop(S,[H|_]) when S &amp;lt; 1000 -&amp;gt;
        if
        is_integer(S) -&amp;gt; pri(S,H);
        true -&amp;gt; pr(S,H)
        end;
loop(S,[_|L]) -&amp;gt; loop(S / 1000, L).

pr(S,K) -&amp;gt; io:format(&amp;quot;~.1f~s~n&amp;quot;,[S,[K]]).
pri(S,K) -&amp;gt; io:format(&amp;quot;~.10B~s~n&amp;quot;,[S,[K]]).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7415/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7415/</guid></item><item><title>kgbu's comment on 倍数になる13進数
</title><link>http://ja.doukaku.org/comment/7281/</link><description>



&lt;a href="http://ja.doukaku.org/14/"&gt;倍数になる13進数&lt;/a&gt;
(&lt;a href="http://ja.doukaku.org/14/nested/"&gt;Nested&lt;/a&gt; 
 &lt;a href="http://ja.doukaku.org/14/flatten/"&gt;Flatten&lt;/a&gt;)


&lt;hr&gt;
  &lt;pre class='compact'&gt;erl_evalと　Erlang特有のN進法表記(N#M, 基数Nは36以下)を
使ってみたらどうだろうと思って書いてみました。
基数に上限があるので汎用性に欠けると思います。

プログラムを bai13.erl というファイル名で保存して、
$ erl -noshell -s bai13 getfirst -s init stop
のようにして起動します。&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;-module(bai13).
-export([getfirst/0]).

getfirst() -&amp;gt;
    loop(10).

loop(N) -&amp;gt;
    case (eval(&amp;quot;13#&amp;quot; ++ integer_to_list(N) ++ &amp;quot;.&amp;quot;) rem N) of
        0 -&amp;gt; io:format(&amp;quot;~p~n&amp;quot;,[N]);
        true -&amp;gt; loop(N + 1)
    end.

eval(Expr)-&amp;gt;
    {ok, Tokens, _}=erl_scan:string(Expr),
    {ok,[Expression]} = erl_parse:parse_exprs(Tokens),
    {value, Ret,_} = erl_eval:expr(
        Expression ,erl_eval:bindings(erl_eval:new_bindings())
        ),
  Ret.
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7281/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7281/</guid></item><item><title>kgbu's comment on LL Golf Hole 6 - 10進数を2進数に基数変換する
</title><link>http://ja.doukaku.org/comment/7278/</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;pre class='compact'&gt;Erlangのインタプリタコマンドであるescriptで実行するとしたケースです。
その場合、コードの最初の行は無視されるので、コメント行となっています。

入力となる10進数は、標準入力から与えます。

実行例（スクリプトファイル名を t.erl とします)
$ escript  t.erl
2
10
$&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;%
main(_)-&amp;gt;{V,_}=string:to_integer(io:get_line(&amp;#39;&amp;#39;)),io:format(&amp;quot;~.2B~n&amp;quot;,[V]).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7278/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7278/</guid></item><item><title>kgbu's comment on LL Golf Hole 5 - 最上位の桁を数え上げる
</title><link>http://ja.doukaku.org/comment/7204/</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;pre class='compact'&gt;スクリプト内のリテラルとして、３００という整数を与えています。

escript スクリプトのファイル名

として実行します。
この場合、最初のコメント行は必須です。&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;%
s(X,Y)when X &amp;lt; 10-&amp;gt;erlang:display(Y);
s(X,Y)when X rem 10=:=0-&amp;gt;s(X div 10,Y);
s(_,_)-&amp;gt;0.
main(_)-&amp;gt;[s(X,X)||X&amp;lt;-lists:seq(0,300)].
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7204/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7204/</guid></item><item><title>kgbu's comment on LL Golf Hole 3 - 13日の金曜日を数え上げる
</title><link>http://ja.doukaku.org/comment/7043/</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;pre class='compact'&gt;申し訳ありません、動かないコードを投稿してしまいました。
最初に投稿したものは、最初に空行が必要でした。
(escriptコマンドは、最初の行を無視するため)
最初の行をコメントとして、コードも多少短くしたものを再投稿いたします。

実行方法と結果は、以下のように、元記事と同様です。

escript スクリプトのファイル名
[{2009,2,13},
 {2009,3,13},
 {2009,11,13},
 {2010,8,13},
 {2011,5,13},
 {2012,1,13},
 {2012,4,13},
 {2012,7,13},
 {2013,9,13},
 {2013,12,13}]
10 days&lt;/pre&gt;
&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1
2
3
4&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;%%
main(_)-&amp;gt;M=[{X,Y,13}||{X,Y,13}&amp;lt;-a(date(),{2013,12,31}),calendar:day_of_the_week({X,Y,13})=:=5],io:format(&amp;quot;~p~n~p days~n&amp;quot;,[M,length(M)]).
a(X,X)-&amp;gt;[X];
a(X,Y)-&amp;gt;[X]++a(calendar:gregorian_days_to_date(calendar:date_to_gregorian_days(X)+1),Y).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7043/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7043/</guid></item><item><title>kgbu's comment on LL Golf Hole 3 - 13日の金曜日を数え上げる
</title><link>http://ja.doukaku.org/comment/7035/</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;pre class='compact'&gt;大元になる日付のリストは素直に1日ごとのものを生成しています。
escript ファイル名
として実行します。
実行結果例(2008/8/7に実行)
[{2009,2,13},
 {2009,3,13},
 {2009,11,13},
 {2010,8,13},
 {2011,5,13},
 {2012,1,13},
 {2012,4,13},
 {2012,7,13},
 {2013,9,13},
 {2013,12,13}]
10 days&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&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;main(_) -&amp;gt;
        L=a(date(),{2013,12,31}),
    M=[{X,Y,13} || {X,Y,13} &amp;lt;- L, calendar:day_of_the_week({X,Y,13}) =:= 5],
    io:format(&amp;quot;~p~n~p days~n&amp;quot;, [M, length(M)]).

a(X,X) -&amp;gt; [X];
a(X,Y) -&amp;gt; [X] ++ a(calendar:gregorian_days_to_date(
                 calendar:date_to_gregorian_days(X)+1),Y).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/7035/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/7035/</guid></item><item><title>匿名's comment on LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする
</title><link>http://ja.doukaku.org/comment/6970/</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;p&gt;Erlang 版を縮めてみました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;S=string,S:join([[S:to_upper(H)]++T||[H|T]&amp;lt;-S:tokens(&amp;quot;LL day and night&amp;quot;,&amp;quot; &amp;quot;)],&amp;quot; &amp;quot;).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6970/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

</description><guid>http://ja.doukaku.org/comment/6970/</guid></item><item><title>匿名's comment on LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする
</title><link>http://ja.doukaku.org/comment/6971/</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;p&gt;Erlang 版を 1 文字削り損ねてました。&lt;/p&gt;

&lt;hr&gt;
  
    &lt;table&gt;&lt;tr&gt;&lt;td class="linenos"&gt;&lt;pre&gt;1&lt;/pre&gt;&lt;/td&gt;&lt;td class="code"&gt;&lt;div class="highlight"&gt;&lt;pre&gt;S=string,S:join([[S:to_upper(H)|T]||[H|T]&amp;lt;-S:tokens(&amp;quot;LL day and night&amp;quot;,&amp;quot; &amp;quot;)],&amp;quot; &amp;quot;).
&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/erlang/"&gt;
      Erlang
      &lt;/a&gt;]
      [&lt;a href="http://ja.doukaku.org/comment/6971/download/"&gt;
      download code
      &lt;/a&gt;]
      &lt;/a&gt;]
    &lt;/div&gt;
    &lt;hr&gt;
  

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