ํ์ฌ ์์
์ค์ธ ๊ฑด..
http://onebit.cafe24.com/pds/hangman.zip
์ง๊ธ์ผ๋ก์๋ ์ค๋ต ์
๋ ฅ ํ์๋ผ๋์ง, ์ค๋ต๋ค ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ค๋ค๋์ง ํ๋ ๊ฒ๋ค์ ์ถ๊ฐ๋ก ๊ตฌํํด์ผํ ๊ฒ๋ค์ด ๊ฝค ๋จ์ด์๊ณ , ์ฌ๋ฌ ํ๋ก์ธ
์ค๋ฅผ ์ด์ฉํ ๋ ์ข
๋ฃ ์ฒ๋ฆฌ๋ผ๋์ง ๋ญ ๊ทธ๋ฐ ๋ถ๋ถ์ ์ ๊ฐ ๊ณต๋ถ๊ฐ ๋ ๋์ ๋ ์์ ๋ด์ผํ ๋ฏ ํ๊ตฌ์.
๊ตฌ์กฐ๋ ๋์ถฉ...
hm:run()์ ํธ์ถํ๋ฉด, ๋จ์ด๊ฐ ์
๋ ฅ๋ ํ์ผ์์ ๋จ์ด๋ค์ ์ฝ์ด ๋ฆฌ์คํธ๋ก ๋ง๋ค๊ณ , ์ด ๋ฆฌ์คํธ๋ฅผ ์ธ์๋ก ๋ฐ๋
main_loop()์ ๋ํ ํ๋ก์ธ์ค(A)๊ฐ ์์ฑ๋ฉ๋๋ค.(ํ์ผ ์ก์ธ์ค๋ฅผ ํ๋ฒ๋ง ํ๊ธฐ ์ํจ)
hm:new()์ ํธ์ถํ๋ฉด, ํ๋ก์ธ์ค A๋ก ์์ฒญ์ด ๋ ์๊ฐ๊ณ ํ๋ก์ธ์ค A๋ ๋จ์ด ๋ฆฌ์คํธ์์ ์์์ ํ ๋จ์ด๋ฅผ ์ ํํ์ฌ ์ด๋ฅผ ์ธ์
๋ก ์ ๋ฌ ๋ฐ๋ sub_loop()์ ๋ํ ํ๋ก์ธ์ค(B)๋ฅผ ์์ฑํ ํ, senderํํ
ํ๋ก์ธ์ค B๋ก ๋ฉ์ง์๋ฅผ ์ ๋ฌํ๋ ํจ์๋ฅผ ๋ฐ
ํํฉ๋๋ค. ์ด ํ ๋ถํฐ๋ hm:new()์์ ๋ฐํ๋ ํจ์๋ฅผ ํตํด ํ๋ก์ธ์ค B์ ํต์ ํ๊ฒ ๋ฉ๋๋ค.
1> c(hm).
{ok,hm}
2> S = hm:run().
<0.189.0>
3> F1 = hm:new(S).
#Fun<hm.2.88058006>
4> F1($c).
"__c_____"
5> F1($v).
"v_c_____"
6> F1($a).
"vaca____"
7> F1($t).
"vacat___"
8> F1($i).
"vacati__"
9> F1($o).
"vacatio_"
10> F1($n).
[hangman] Your answer is correct!
"vacation"
11>
์ฝ๋์์ ๋จ์ด๋ฅผ ์ ํํ ๋ random:uniform/0 ๋ฅผ ํธ์ถํด์ ์ฌ์ฉํ๋๋ฐ์. ์คํํ ๋๋ง๋ค ๋งค๋ฒ ๊ฐ์ ์์๋ก ๋จ์ด๋ฅผ ์ ํ
ํ๋ ๊ฒ ๊ฐ์์. seed๊ฐ ๋งค๋ฒ ๊ฐ์ ๊ฒ์ด ๋ค์ด๊ฐ๋๊ฒ ์๋๊ฐ ์ถ์๋ฐ์..
C์์๋ ํ๋ก๊ทธ๋จ ์์ ์์ srand( time(NULL) );์ ๋ฃ์ฃผ๋๋ฐ erlang์๋ ์ด์ ๋น์ทํ ๊ธฐ๋ฅ์ด ์๋์ง ๊ถ๊ธํ๋ค
์. (random:seed()๋ผ๋ ๊ฒ์ด ์๊ธด ํ๋ฐ ์ด๋ค ์์ผ๋ก ๋์ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์..)
ps. ํด๊ฐ๋ ๋๋๊ณ .. ๋ด์ผ ๋ถํฐ ๋ค์ ์ถ๊ทผํ๋ ค๋.. ํ์จ๋ง..-_-;
% ....
{ H, M, S } = time(),
random:seed( H, M, S ),
% ....
๋..
ํ์ง๋ง ์ฌ์ ํ erlang์ random:seed()๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค์.
ํญ์ ๊ณ ์ ๋ default seed ๊ฐ์ด ์๋ ๊ฑด๊ฐ..-_-a
On 7์30์ผ, ์ค์ 12์19๋ถ, jahyun <icom...@gmail.com> wrote:
> concurrency๋ ์ฐ์ตํ ๊ฒธํด์ ๋ง๋ค๊ณ ์์ต๋๋ค.
> ์ ๊ฐ ์ง๊ธ๊น์ง ์ง erlang ํ๋ก๊ทธ๋จ ์ค์ ๊ฐ์ฅ ๊ธด๊ฒ ์๋๊น ์ถ์..
>
> ํ์ฌ ์์ ์ค์ธ ๊ฑด..http://onebit.cafe24.com/pds/hangman.zip
๊ถ์ฅ๋๋ ๋ฐฉ์์ now()๋ฅผ ์ฐ๋ ๊ฒ๋๋ค.
>
> ํ์ง๋ง ์ฌ์ ํ erlang์ random:seed()๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค์.
> ํญ์ ๊ณ ์ ๋ default seed ๊ฐ์ด ์๋ ๊ฑด๊ฐ..-_-a
๋ค. ๋ํดํธ๊ฐ ์์ต๋๋ค. ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ random์ side-effect๊ฐ ์๊ณ non-determinantํ
์์๋ฅผ ๊ฐ์
์ํค๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๋ฐฉ๋ฒ์ ์๋๋ค.
get(random_seed)ํ๋ฉด ํ์ฌ seed state๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ lib/src/stdlib-*/src/random.erl ์ ์ฐธ๊ณ ํ์ธ์.
์ธํฐํ์ด์ค ๋ณด๊ณ ๊ฐ๋ค ์ฐ๊ธฐ๋ง ๊ธ๊ธํ๋๋ฐ.. ์ด์ ๋ ๋์์ด ํ์คํ ์ดํด๊ฐ ์ ๋๋ฉด ์์ค๋ฅผ ๋ค์ ธ ๋ด์ผ๊ฒ ๋ค์~
On 8์5์ผ, ์คํ11์49๋ถ, "June Kim" <junea...@gmail.com> wrote:
> 07. 8. 4, jahyun <icom...@gmail.com>๋์ด ์์ฑ:
07. 8. 6, jahyun <ico...@gmail.com>๋์ด ์์ฑ: