Ruby‚ɂ‚¢‚Ä Part 2
ƒŒƒX�”‚ª1000‚ð’´‚¦‚Ä‚¢‚Ü‚·�B‚±‚êˆÈ�ã�‘‚«�ž‚݂͂ł«‚Ü‚¹‚ñ�B
0001ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby Home Page
http://www.ruby-lang.org/ja/
<‘OƒXƒŒ>
Ruby‚ɂ‚¢‚Ä
http://pc3.2ch.net/test/read.cgi/tech/1012096319/
0002ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@�@�@�@�@�@�@ �@ �@ �@ /�V�@„©�]„©�V�Q�Q
�@�@�@�@�@�@�@�@�@�@�@�@�@/�_�@�@�@ ƒm�@�@�@�@�@�@�@�@�@�@�@�@ �@�@ __
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@__�@�@, -�\�\-�A�@�@/�_É
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ �R/�_l::::::::::::::::::::�_ /: : /
�@�@�@�@�@�@�@�@�@,..-�\-¤�^�j�@�@�@�@�@�@�@|: : :|::::::::::::::::::::::�^: : /
�@�@�@�@�@�^�Ü‚x�@�@�@�@�i_ƒm�@ /�j �@ �@ �@ |: : :|:::::::::::::::::::::|: : : /
�@�@�@�@�@�Pl�Pl¤�@�@�@�@ �j �^�M�r�@�@�@�@�@�R:: :|::::::::::::::::::::l: : :/
�@�@ �@ �@ �@ l: : :�M�[--�]'�]'�L: :/�@ �@ �@�@�@�@�_|�ȃn/l�^: ::�q
�@�@�@�@�@�@�@�_: : : : : : : : : :‚�@�@�@�@�@�@�@�@�@|: : : : : : : : : : �M�[-„¢�@�@,.¤
�@�@�@�@�@�@�@�@�@l: : : : : : : : : :�M�[�\„¢ ,¤�@�@�@|: : : : : : : : : : : : : : |“ñlƒjÉ
�@�@�@�@�@�@�@�@�@�R.: : : : : : : : : : : : : :|ƒjÉ�@�@�@|: : : : : : : : : : : : : : |
�@�@�@�@�@�@�@�@ �@ �R: : : : : : : : : : : : :|�@�@�@�@�@ �R: : : : : : : : : : : �^
�@�@�@�@�@�@�@�@�@�@�@�_: : : : : : : : :�^�@�@�@�@�@�@�@�_ : : : : : : �^
�@�@�@�@�@�@�@�@�@�@�@�@ �P�P�P�P�@�@�@�@ƒm|�@�@�@�@�@�P�P�P�@�@�@�@�@�@�@ƒm�j
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ƒm‚µƒm�@ ‚µ'�i�@�@�@�@�@�@�@�@�@�@�@ƒm)__ƒm�@�iƒm(
0003ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–{ƒXƒŒ‚Æ‚¢‚¤‚±‚Ƃłæ‚낵‚‚¨Šè‚¢‚µ‚Ü‚·�B
0004ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Í‚â
0005ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0006ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby‚ðŒê‚éƒXƒŒƒbƒh
http://pc.2ch.net/test/read.cgi/unix/1018967064/l50
�yRuby�zRuby‚ÅCGI
http://pc.2ch.net/test/read.cgi/php/988948655/l50
goRua(Ruby/Gtk‚É‚æ‚é2chƒuƒ‰ƒEƒU)‚Á‚Ăǂ¤‚æ�B
http://pc.2ch.net/test/read.cgi/unix/1008120213/l50
......š’– ÏÏÉÑŒ�³T........š’– ÏÏÈÑŒ�¥1..�E......š’– ÏÏÇÑŒ�....£.......ž–� ÏÏÎÑŒ�
´X......ž–� ÏÏÌÑŒ�úµ).7W......ž–� ÏÏËÑŒ�$.........ž–� ÏÏÊÑŒ�.H4.fX......ž–� ÏÏÉÑ
ÑŒ�7.>.TJ......ž–� ÏÏÇÑŒ�‹ED.Ñg......‹–— ÏÏÎÑŒ�\I.J.......‹–— ÏÏÍÑŒ�¦²M.D.......
....‹–— ÏÏËÑŒ��EU.g.......‹–— ÏÏÊÑŒ�cÃY.\.......‹–— ÏÏÉÑŒ�¿È].........‹–— ÏÏÈÑŒ�Y
f.......’–Œ ÏÏÎÑŒ�Òãi.t¬......’–Œ ÏÏÍÑŒ�F�n.u¬......’–Œ ÏÏÌÑŒ�»<s.�......’–Œ ÏÏËÑ
Œ�.™|.�¬......’–Œ ÏÏÉÑŒ�·E..z¥......’–Œ ÏÏÈÑŒ�1�E.ú¬......’–Œ ÏÏÇÑŒ�+�E.Ø·......Œž
...Œž‘ ÏÏÍÑŒ�wd..ª.......Œž‘ ÏÏÌÑŒ�!z..R.......Œž‘ ÏÏËÑŒ�s‘›.A.......Œž‘ ÏÏÊÑŒ�´§
......Œž‘ ÏÏÈÑŒ�?Ч.R......Œž‘ ÏÏÇÑŒ�‘Ù«.V.......Œž‘ ÏÏÆÑŒ�ç÷¯.À±......�E” Ï
ÏÍÑŒ�.Šº.........�E” ÏÏÌÑŒ�‡l¾........�E” ÏÏËÑŒ��MÂ.E.......�E” ÏÏÊÑŒ�Õ0Æ.y...
...�E” ÏÏÈÑŒ�..¸Õ......�E” ÏÏÇÑŒ�×ÈÑ.0.......�š– ÏÏÎÑŒ�.´Õ.4É......�š– ÏÏÍÑŒ�;}
Ý.°È......�š– ÏÏËÑŒ�....(Ë......�š– ÏÏÊÑŒ�Ú..5È......�š– ÏÏÉÑŒ�â¢..×È......�š– ÏÏÈ
ÏÏÇÑŒ�.5..œÎ......’�� ÏÏÎÑŒ�ª...¸m......’�� ÏÏÍÑŒ�bq..7n......’�� ÏÏËÑŒ�™ß..ºp...
..’�� ÏÏÈÑŒ�‘¿..mq......’�� ÏÏÇÑŒ�0..&p......™Š• ÏÏÎÑŒ�$¡..<.......™Š• ÏÏÍÑŒ�`¥.
0008ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGclass Foo
�@def Foo.test
�@�@print "a"
�@end
end
Foo.test
0009ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0010ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.etek.chalmers.se/~e8cal1/sge/files/sge020104.tar.gz
‚ð—Ž‚µ�A Makefile.conf ‚Ì C_ONLY ‚Æ NOTTF ‚ð—LŒø‚É‚µ‚Ä�A
make; su; make install; ldconfig ‚ð‚µ‚½‚̂ł·‚ª�A
SGE‚ª—LŒø‚ɂȂ炸 drawLine ‚ª undefine ‚ƂȂè‚Ü‚·�B
SGE‚ðRuby/SDL‚Å�³�í”Fޝ‚³‚¹‚é‚ɂ͂ǂ¤‚µ‚½‚ç‚¢‚¢‚̂łµ‚傤?
0011–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGŠm‚©‚ß‚¸‚É�‘‚¢‚Ă邪�A�ŋ߂»‚ñ‚Șb‚ªML‚łȂ©‚Á‚½‚Á‚¯?
0012–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG0013ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽÀ�s‚·‚邯‰½‚©
warning: Array#filter is deprecated; use Array#collect!
‚ÆŽ¶‚ç‚ê‚é‚ñ‚Å‚·‚¯‚Ç.....
0014ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGArray#filter‚Í�„�§‚³‚ê‚Ä‚¢‚È‚¢‚©‚çArray#collect‚ðŽg‚¦
‚Á‚Ä�‘‚¢‚Ä‚ ‚邾‚낤‚ª�A‚±‚̃nƒQ�B
001514
NGNG0016ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
Œ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜CŒ^‚¾˜C
0017ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�‘ŽYRuby‚ÍŠCŠO‚Å‚àŽg‚í‚ê‚Ä‚é‚Ì�H
0018ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0019ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGSmalltalk ‚Ȃǂà•׋‚µ‚Æ‚¯�B
>>17
‚·‚łɃ†�[ƒU�lŒû‚ÍŠCŠO‚Ì•û‚ª‘½‚¢‚悤‚È�B
002010
NGNG002116
NGNG‚È‚ñ‚Ånew‚µ‚È‚¢‚ŃNƒ‰ƒX‚̃�ƒ\ƒbƒh‚ªŒÄ‚΂ê‚é‚Ì‚©‚ª”[“¾‚¢‚©‚È‚¢‚ñ‚¾‚¯‚Ç�B
squeak‚̓Cƒ“ƒXƒg�[ƒ‹‚µ‚Ä‚ ‚邯‚Ç�A�¡‚Ì�ŠŽg‚Á‚ĂȂ¢�B
0022ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG002316
NGNG‰´‚Í‚¢‚܃IƒuƒWƒFƒNƒg‚̃VƒŠƒAƒ‰ƒCƒY‚É–G‚¦‚Ä‚ñ‚¾‚©‚çŽ×–‚�¡–¼�B
002416
NGNGƒIƒŠƒWƒiƒ‹‚͉´‚¾‚©‚ç‚È�B
0025shige‚Ì‹`—�’í
NGNGƒIƒ„ƒW‚Ȃ̂É�B
Rubi‚ð�i‚߂Ă‚ê‚Ä‚éshige‚³‚ñ‚ɂ͈«‚¢‚¯‚Ç�A–l‚ÍCOBOLer‚ɂȂ낤‚ÆŒˆ‚߂܂µ‚½�B
0026shige
NGNGCOBOLer‚ɂȂ邱‚Ƃ͔ߎS‚Å‚·�B
‚»‚ꂪ’x‚‚È‚¢‚Ì‚Å�A�¡‚©‚炳‚¦•Ô‚Á‚Ä‚‚¾‚³‚¢�B
‚ ‚È‚½‚Ì�e‚ÍCOBOLer‚ɂȂÁ‚½‚½‚߂Ɍµ‚µ‚”ß‚µ‚Š´‚¶‚Ä‚¢‚Ü‚·�B
�^ŽÀ‚ð’m‚ç‚È‚¢‚±‚Ƃ͖â‘è‚Å‚·�A‚»‚ê�A�«—ˆ‚Ȃǂ̂Ȃ¢COBOLer‚æ‚葸Œh‚·‚ׂ«ƒ‹ƒr�[‚Ì•ûŒü�A�™�s100�A‚Ü‚½�A‚»‚ê‚͂悢�B
I‚Í•³‚ð�H‚ׂ邱‚Æ‚ª�D‚«‚Å‚·�B
Œ¾‚í‚ê‚Ä‚¢‚邱‚Æ‚ª•·‚©‚ê‚È‚¢�ê�‡�A‚»‚ê‚Í‚ ‚È‚½‚É”rŸ••¨‚𓊂°‚邽‚ß‚É�‹�s‚·‚é‚Å‚µ‚傤�B
‚»‚ê‚͔߂µ‚·‚¬‚Ü‚·�B
‘å‚«‚ȑ傫‚È“V�ËRubyist shige�B
002710
NGNG‚»‚ê‚ðŽQ�l‚É�A�Å�VƒpƒbƒP�[ƒW‚ðƒrƒ‹ƒh‚µ’¼‚µ‚Ä‰ðŒˆ‚µ‚Ü‚µ‚½�B
‚Æ‚è‚ ‚¦‚¸‚ ‚肪‚Æ‚¤‚Å‚·>>11
0028shige‚Ì‹`—�’í
NGNG0029ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒNƒ‰ƒXƒIƒuƒWƒFƒNƒg‚ª‚ ‚é‚©‚ç‚Å‚·�B
class Foo ‚ðŽÀ�s‚µ‚½Žž“_‚Å�B
0030ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Í�A
Foo = Class.new
‚Æ“¯‚¶�B
0031ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0032ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGClass#name‚Æ‚¢‚¤ƒ�ƒ\ƒbƒh‚Å–¼‘O‚𓾂邱‚Æ‚ª‚Å‚«‚é�B
Œ^‚Ƀ�ƒ^‚ÈŒ^‚ª‚ ‚邯Žv‚¦‚Î�H
0033ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGClassƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ª’è�”‚É‘ã“ü‚³‚ê‚邱‚Ƃɂæ‚Á‚Ä–¼‘O(ƒNƒ‰ƒX–¼)‚ª‚‚�B
‚¾‚©‚ç�A>>30‚Í�³‚µ‚¢‚̂ł·�B
‚±‚Ì•Ó�Aruby-list‚Ì‹c˜_‚ð“Ç‚ñ‚¾‚Æ‚«�A‚È‚ñ‚¾‚©‚æ‚‚í‚©‚ñ‚È‚¢‚±‚Æ‚â‚Á‚Ä‚é‚È�A
‚ÆŽv‚Á‚½‹L‰¯‚ª‚ ‚é�B
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/14145
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/6755
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/9677
‚Ì‚ ‚½‚è‚Ì‹c˜_�B
0035ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¡ b 3
‚¢ c 5
‚£ d 7
‚¤ e 9
‚¥ f 11
‚¦ g 13
‚§ h 15
‚¨ i 17
‚© j 19
‚ª k 21
‚« l 23
‚¬ m 25
‚ n 27
‚® o 29
‚¯ p 31
‚° q 33
‚± r 35
‚² s 37
‚³ t 39
excel‚ðŽg‚킸‚É�A�ã‚̂悤‚È•\‚𑦋»‚ŃTƒ“ƒvƒ‹‚Ì‚ð�ì‚肽‚¢‚̂ł·�B
ruby -e '"‚ ".upto("‚í"){|x| print x, "\n" }'
‚Æ‚µ‚Ä�Aˆê—ñ–Ú‚¾‚¯‚Í�¶�¬‚Å‚«‚邯‚Ç�Aˆê“x‚Ƀoƒ@�[‚Á‚Æ�o‚µ‚Ä�A
Žü‚è‚݂̂ñ‚È‚ð‹Á‚©‚µ‚½‚¢‚¯‚Ç�A‚¤‚Ü‚‚¢‚©‚È‚¢�B
ƒCƒeƒŒ�[ƒ^‚ÌŽg‚¢•û‚ªŠÃ‚¢‚̂łµ‚å�[‚©�H
0036ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¡�@�@�@�@�@�@b�@�@�@�@�@�@�@3
‚¢�@�@�@�@�@�@c�@�@�@�@�@�@�@5
‚£�@�@�@�@�@�@d�@�@�@�@�@�@�@7
‚¤�@�@�@�@�@�@e�@�@�@�@�@�@�@9
‚¥�@�@�@�@�@�@f�@�@�@�@�@�@�@11
‚¦�@�@�@�@�@�@g�@�@�@�@�@�@�@13
‚§�@�@�@�@�@�@h�@�@�@�@�@�@�@15
‚¨�@�@�@�@�@�@i�@�@�@�@�@�@�@17
‚©�@�@�@�@�@�@j�@�@�@�@�@�@�@19
‚ª�@�@�@�@�@�@k�@�@�@�@�@�@�@21
‚«�@�@�@�@�@�@l�@�@�@�@�@�@�@23
‚¬�@�@�@�@�@�@m�@�@�@�@�@�@�@25
‚�@�@�@�@�@�@n�@�@�@�@�@�@�@27
‚®�@�@�@�@�@�@o�@�@�@�@�@�@�@29
‚¯�@�@�@�@�@�@p�@�@�@�@�@�@�@31
‚°�@�@�@�@�@�@q�@�@�@�@�@�@�@33
‚±�@�@�@�@�@�@r�@�@�@�@�@�@�@35
‚²�@�@�@�@�@�@s�@�@�@�@�@�@�@37
‚³�@�@�@�@�@�@t�@�@�@�@�@�@�@39
0037ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby -e '("‚ ".."‚³").each_with_index {|v,i| printf "%s\t%s\t%d\n", v, (?a+i).chr, (i*2)+1 }'
0038ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby -e '("‚ ".."‚³").each_with_index {|v,i| puts "#{v}\t#{(?a+i).chr}\t#{(i*2)+1}" }'
0039ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>>38
—L“‚²‚´‚¢‚Ü‚µ‚½�B
�y‚ �`‚³�z‚ðindex‚É‚·‚éŽg‚¢•û‚͕֗˜‚Å‚·�B
‚µ‚©‚µ�A–{—ˆ‚Í�y‚ �`‚í�z‚܂łðindex‚É‚·‚邯
ƒ��[ƒ}Žš‚Ì—ñ‚ÆŠï�”‚Ì—ñ‚ª“r’†‚ŕςɂȂè‚Ü‚·�B
‚à‚¤�‚µŠæ’£‚Á‚Ă݂܂·�B
‚ �@�@�@�@�@�@a�@�@�@�@�@�@�@1
‚¡�@�@�@�@�@�@b�@�@�@�@�@�@�@3
‚¢�@�@�@�@�@�@c�@�@�@�@�@�@�@5
—ª
‚�@�@�@�@�@�@n�@�@�@�@�@�@�@27
‚®�@�@�@�@�@�@o�@�@�@�@�@�@�@29
‚¯�@�@�@�@�@�@p�@�@�@�@�@�@�@31
‚°�@�@�@�@�@�@q�@�@�@�@�@�@�@33
‚±�@�@�@�@�@�@r�@�@�@�@�@�@�@35
‚²�@�@�@�@�@�@s�@�@�@�@�@�@�@37
‚³�@�@�@�@�@�@t�@�@�@�@�@�@�@39
—ª
—ª
‚Â�@�@�@�@�@�@�@�@�@�@�@�@�@�@69
‚Ã
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@71
‚Ä
�@�@�@�@�@�@�@�@73
‚Å�@�@�@�@�@�@�@�@�@�@�@�@�@�@75
‚Æ�@�@�@�@�@�@�@�@�@�@�@�@�@�@77
‚Ç�@�@�@�@�@�@�@�@�@�@�@�@�@�@79
‚È�@�@�@�@�@�@�@�@�@�@�@�@�@�@81
‚É�@�@�@�@�@�@�@�@�@�@�@�@�@�@83
‚Ê�@�@�@�@�@�@�@�@�@�@�@�@�@�@85
‚Ë�@�@�@�@�@�@�@�@�@�@�@�@�@�@89
‚Í�@�@�@�@�@�@�@�@�@�@�@�@�@�@¹1
‚Î�@�@�@�@�@�@�@�@�@�@�@�@�@�@$(D93(B
‚Ï�@�@�@�@�@�@�@�@�@�@�@�@�@�@95
‚Ð�@�@�@�@�@�@�@�@�@�@�@�@�@�@97
0040ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚‚܂è�A‚â‚肽‚¢‚±‚Æ‚Í�A
ƒ��[ƒ}Žš—ñ‚ÆŠï�”—ñ‚Íindex‚ª�u‚í�v‚ɂȂé‚Ü‚Å
ŒJ‚è•Ô‚µ‚Ä‚¢‚‚Ì‚Å�A�ÅŒã‚Ì‚ ‚½‚è‚Í
‚ß�@�@�@�@�@�@l�@�@�@�@�@�@�@27
‚à�@�@�@�@�@�@m�@�@�@�@�@�@�@29
‚á�@�@�@�@�@�@n�@�@�@�@�@�@�@31
‚â�@�@�@�@�@�@o�@�@�@�@�@�@�@33
‚ã�@�@�@�@�@�@p�@�@�@�@�@�@�@35
‚ä�@�@�@�@�@�@q�@�@�@�@�@�@�@37
‚å�@�@�@�@�@�@r�@�@�@�@�@�@�@39
‚æ�@�@�@�@�@�@s�@�@�@�@�@�@�@41
‚ç�@�@�@�@�@�@t�@�@�@�@�@�@�@43
‚è�@�@�@�@�@�@u�@�@�@�@�@�@�@45
‚é�@�@�@�@�@�@v�@�@�@�@�@�@�@47
‚ê�@�@�@�@�@�@w�@�@�@�@�@�@�@49
‚ë�@�@�@�@�@�@x�@�@�@�@�@�@�@51
‚ì�@�@�@�@�@�@y�@�@�@�@�@�@�@53
‚í�@�@�@�@�@�@z�@�@�@�@�@�@�@55
‚ƂȂè‚Ü‚·�B
0041ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGa�`z‚Í‚ �`‚í‚̃Cƒ“ƒfƒbƒNƒX‚Ì’š“x1/3‚Ȃ̂Å�A
‚í z ‚Æ‚»‚ë‚¢‚Ü‚·�B
0042ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0043ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby -e '("‚ ".."‚í").each_with_index {|v,i| puts "#{v}\t#{(?a+(i%26)).chr}\t#{((i*2)+1)%100}" }'
0044ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGfor( int x = offsetX; x<width; x += grid){
# ‰½‚ª‚µ‚Ì�ˆ—�
}
‚È‚ñ‚Ä�‘‚�ˆ—�‚È‚ñ‚Å‚·‚¯‚Ç‚à�ARuby ‚¶‚Ⴑ‚¤‚¢‚¤ŒJ‚è•Ô‚µ‚͂ǂ¤�‘‚‚à‚ñ‚È‚Ì�H
x = offset_x
while( x < width)
# ‰½‚ª‚µ‚Ì�ˆ—�
x += grid
end
‚Æ‚©�H�@‚±‚ê�ç’·‰ß‚¬‚₵‚È‚¢‚©�B
0045ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚̗Ⴞ‚Æ Integer#step‚ðŽg‚Á‚Ä
offsetX.step (width-1, grid) do |x|
# ‰½‚ª‚µ‚Ì�ˆ—�
end
‚Ý‚½‚¢‚É�‘‚¯‚邿�B
‚¯‚ê‚Ç‚àŽ„‚Ì�ê�‡�AŽÀ�Û‚Éstep‚ðŽg‚Á‚½‚±‚Ƃ͂قƂñ‚ǂȂ¢‚Å‚·�B
0046ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0047ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—L“‚²‚´‚¢‚Ü‚µ‚½�B
‚±‚ê‚ÅŒã”y‚É�Aexcel‚æ‚èruby‚ðŽg‚¦‚Á‚Ä
ŽÀ—á‚ð‚à‚Á‚Ä�à“¾‚Å‚«‚»‚¤‚Å‚·�B
0048ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¢‚â�A‚±‚Ì�ê�‡‚Í Excel ‚Å‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚È‚ �B
“K�Þ“K�Š‚¾‚æ�B
‚Æ‚¢‚¤‚© Excel ‚Æ ruby ‚Á‚Ä”ä‚ׂç‚ê‚é‚à‚ñ‚¶‚á‚È‚¢‚ª�B
0049ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby ‚Í‚¶‚ß‚½‚ñ‚Å‚·‚ª�A(Ž©•ª‚ɂƂÁ‚Ä‚Í)‘¼‚̂ǂ̌¾Œê‚Æ‚à
ˆá‚¤Š´‚¶‚łȂ©‚È‚©�K“¾‚Å‚«‚Ü‚¹‚ñ�B
‚Æ‚±‚ë‚Å�ARuby ‚É‚Í Sun ‚Ì java API ƒhƒLƒ…ƒ�ƒ“ƒg‚Ý‚½‚¢‚È
‚̂͂Ȃ¢‚ñ‚Å‚·‚©�H
0050ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ‰ƒCƒuƒ‰ƒŠ‚ÉŠÖ‚·‚éƒhƒLƒ…ƒ�ƒ“ƒg‚͉º‹L‚̂Ƃ±‚ë‚©‚çŽè‚É“ü‚邿�B
‚Æ‚è‚ ‚¦‚¸HTML Help‚©•ªŠ„HTML‚ðŽg‚¦‚Ηǂ¢‚¶‚á‚È‚¢‚©‚È�B
HTML Help(Windows—p) ‚Æ •ªŠ„HTML
http://www7.tok2.com/home/misc/ruby.html
Ruby ƒŠƒtƒ@ƒŒƒ“ƒXƒ}ƒjƒ…ƒAƒ‹
http://www.ruby-lang.org/ja/man-1.6/index.cgi
refe
http://www.loveruby.net/ja/prog/refe.html
ri
http://www.pragmaticprogrammer.com/ruby/downloads/ri.html
‚Æ‚±‚ë‚Å�ARuby‚Á‚Ä‚»‚ñ‚Ȃɑ¼‚ÌŒ¾Œê‚ƈႤ‚©‚È‚ �B
‚à‚Á‚ƕςȌ¾Œê‚Í(Œ¾—t‚ªˆ«‚¢‚¯‚Ç)‚¢‚‚ç‚Å‚à‚ ‚邯Žv‚¤‚ñ‚¾‚¯‚Ç�B
0051ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>50
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
‚Æ‚è‚ ‚¦‚¸refeŒ©‚Ă݂܂·�B
Ruby•׋‚·‚é‚̂͂©‚Ȃ肵‚ñ‚Ç‚¢‚̂ł·‚ª�A‚݂Ȃ³‚ñ‚Í
‚Ç‚¤‚â‚Á‚Ä�K“¾‚µ‚½‚̂ł·‚©�H
Ž©•ª‚Í‚¢‚Ü"ƒIƒuƒWƒFƒNƒgŽwŒüƒXƒNƒŠƒvƒgŒ¾ŒêRuby"Žg‚Á‚Ă܂·�B
0052ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@ �wƒIƒuƒWƒFƒNƒgŽwŒüƒXƒNƒŠƒvƒgŒ¾ŒêRuby�x ‚Í“ü–å�‘‚Æ‚µ‚Ä‚Í�A‚¨‘E‚߂ł«‚È‚¢‚Ë�B
�@“ü–å�‘‚Æ‚µ‚Ä‚Í�A
�@ �w‚½‚Ì‚µ‚¢ Ruby�x >>>> �wRubyƒvƒ�ƒOƒ‰ƒ~ƒ“ƒO“ü–å�x >> �wƒvƒ�ƒOƒ‰ƒ~ƒ“ƒORuby�x
‚Æ‚¢‚¤Š´‚¶‚Å�A�‰�SŽÒŒü‚«‚©‚È�E�E�E
0053ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚à‚¤rubyŽg‚¤‚Ì‚â‚߂܂·�B
0054ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽg‚Á‚ÄOO(‚Æ‚¢‚¤‚æ‚è�\‘¢‘Ì�H)‚Á‚Û‚¢�‘‚«•û‚·‚é‚̂ł·‚ª�A
Ruby‚Í‚¨Š©‚߂ł·‚©�H
0055ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0056ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¨‚êPerl‚ÅOO‚ȃXƒNƒŠƒvƒg‚ð�‘‚¢‚½‚±‚Æ‚ª‚È‚¢‚¯‚Ç�A
Perl‚ÌOO‚̃\�[ƒX‚ðŒ©‚Ä‚¢‚邯�h‚‚È‚Á‚Ä‚‚é�B
Ruby‚Ì•Ï�”‚ÍC‚̃|ƒCƒ“ƒ^�[“I‚È‚à‚Ì(ŽQ�Æ)‚¾‚¯‚Ç�A
‚»‚ê‚É“é‚ê‚Ä‚¢‚ê‚Î�A‚»‚ê‚قLjÚ�s‚Í–Ê“|‚ł͂Ȃ¢‚ÆŽv‚¤�B
ˆê‰ž�APerl‚Á‚Û‚¢�‘‚«•û‚à‚Å‚«‚邵�B
Perl‚ÅOO‚·‚é‚Ì‚É�Á�Ü‚µ‚½�l‚ªRuby‚ɈÚ�s‚·‚邱‚Æ‚à
‚ ‚é‚Ý‚½‚¢‚Ȃ̂Å�Aˆê“xŽŽ‚µ‚Ă݂Ă͂ǂ¤‚¾‚낤?
(‚à‚Á‚Æ‚àPerl6‚É‚È‚é‚Æ‚Ü‚Á‚½‚˜b‚͕ςí‚é‚©‚à‚µ‚ê‚È‚¢�B)
0057ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby/Gtk‚É‚Ä�A
button = Gtk::Button.new("ƒ{ƒ^ƒ“‚̃‰ƒxƒ‹")
‚Å�ݒ肵‚½ƒ‰ƒxƒ‹‚ðŒã‚ŕς¦‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·?
0058ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�V•i\980‚Å”ƒ‚¢‚Ü‚·‚½�B
0059ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¿‚å‚Á‚Ƃ͒²‚ׂ½�H
Ruby-GNOMEƒ�ƒ‚‚ ‚½‚è‚ð‚Ý‚½‚ç�H
0060ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚È‚½‚Í ruby ‚ðŽg‚¤‚½‚ß‚É�¶‚Ü‚ê‚Ä‚«‚½‚悤‚È�l‚Å‚·�B
0061ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0062ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤‚Ð�[�A‚·‚݂܂¹‚ñ�A‚æ‚“Ç‚ñ‚¾‚ç‚¿‚á‚ñ‚Æ�Ú‚Á‚Ă܂µ‚½‚Ë�c�c
http://home2.highway.ne.jp/mutoh/tips/gtk_button.html
ƒXƒ}ƒ\
0063ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGmod_ruby‚Åroot—p‚̃vƒ�ƒOƒ‰ƒ€“®‚©‚µ‚½‚¢�B
setuid‚ð‚ǂ̂悤‚É‚µ‚ČĂԂׂ«‚©‹³‚¦‚ð‚½‚ê‚Ä‚‚¾‚³‚¢
0064ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒtƒ@ƒCƒ‹ˆê‚ŠJ‚‚É‚àƒVƒXƒeƒ€ƒR�[ƒ‹‚Í•K—v‚Å‚·‚ª�A‰½‚©?
0065ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚è‚á‘g‚Ý�ž‚ÝŠÖ�”‚¾‚낪
006665
NGNG0067ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@‚킽‚µ‚͂܂³‚É�A‚ ‚È‚½‚Æ“¯‚¶—l‚ÈŠ´‚¶‚Å Perl ‚ðŽg‚Á‚Ä‚Ä�A
Perl ‚ÌƒŠƒtƒ@ƒŒƒ“ƒX‚ÌŽg‚¢‚É‚‚³‚ÉŒ™‹C‚ª‚³‚µ‚Ä�A Ruby ‚ð
Žg‚¤‚悤‚É�¬‚è‚Ü‚µ‚½�B
0068ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby-talk‚É‚±‚¤‚¢‚¤ƒ��[ƒ‹‚ª‚ ‚邯‚Ç�c�B
ruby-talk Running ruby scripts suid-root
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/21744
�ã‚̃��[ƒ‹‚©‚ç
http://www.tesol.net/scripts/Otherstuff/setuid.html#yourwrap
0069ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ�ƒ“ƒe’†�H
‚Ý‚ê‚È‚¢�E�E�E
0070–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGruby-dev‚Åsuidruby‚̃pƒbƒ`‚ðŒ©‚½Šo‚¦‚ª‚ ‚é‚È�B
0071ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚ê�H
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/16883
0072Ruby�~
NGNG‚·‚é�¢ŠE‚Å‚ ‚é�B
1:2 Žn‚ß‚ÉRuby‚Ì�_‚Í“V’n‚ð‘n‘¢‚³‚ꂽ�B‚»‚ê‚̓Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚Åruby,irb
‚Å‚ ‚é�B
1:3 ’n‚Í�¬“ׂł ‚Á‚Ä�AˆÅ‚ª�[•£‚̖ʂɂ ‚è�ARuby‚Ì�¸�_‚Íunix‚É“®‚¢‚Ä‚¢‚½�B
1:4 �_‚ÍŒ¾‚í‚ꂽ�B�uRuby‚ÉŒõ‚è‚ ‚ê�A–ÚŠo‚ß‚æƒvƒ�ƒZƒX‚æ�v‚±‚¤‚µ‚Ä
Œ´ŽnRubyƒvƒ�ƒZƒX‚Í‚ ‚Á‚½�B
1:5 �_‚ÍRuby‚ðŒ©‚Ä‚æ‚µ‚Æ‚³‚ꂽ�B
0073Ruby�~
NGNG‘n‘¢‚³‚ꂽ�B
1:7 ‚»‚µ‚Ä�_‚ÌŽp‚Æ‚µ‚Ä�ì‚ç‚ꂽƒIƒuƒWƒFƒNƒg‚ðŽŸ‚Ì‚æ‚¤‚É�j•Ÿ‚³‚ꂽ�B
�uƒNƒ‰ƒX’B‚æƒoƒCƒiƒŠ�[‹óŠÔ‚É–ž‚¿‚ăg�[ƒNƒ“‚ðObject‚̃TƒuƒNƒ‰ƒX‚Æ‚¹‚æ�A
Ž©‚ç‚̃^ƒCƒv‚ð”Fޝ‚µ�A‘S‚ẴRƒ“ƒsƒ…�[ƒ^‹óŠÔ‚É–ž‚¿‚æ�B‘S‚Ă̕¨‚ðƒIƒuƒWƒFƒNƒg
‚Æ‚µ‚ÄŽx”z‚¹‚æ�v
1:8 ŒÌ‚É�Aƒg�[ƒNƒ“(1)‚̓IƒuƒWƒFƒNƒg‚Å‚ ‚è�A(1.type)‚Æ‚·‚邯ީ‚ç�®�”‚Å‚ ‚è
�A("a".type)‚Æ‚·‚邯•¶Žš—ñ‚Å‚ ‚è�A(1.23.type)‚Æ‚·‚邯Float‚Å‚ ‚é
‚±‚Æ‚ð’m‚Á‚Ä‚¢‚é‚̂ł ‚é�B
1:9 ‚»‚µ‚Ä�ÅŒã‚É�A�_‚͌䑢‚è‚ɂȂÁ‚½‘S‚Ă̂à‚Ì‚ð‚²——‚ɂȂÁ‚½�BŒ©‚æ�A
‚»‚ê‚͋ɂ߂ėǂ©‚Á‚½�B
0074Ruby�~
NGNGƒNƒ‰ƒX‚ðŒä‘¢‚è‚ɂȂç‚È‚©‚Á‚½‚©‚ç‚Å‚ ‚é�B
1:11 �_‚̓Nƒ‰ƒX‚Å�l‚ð‘n‚è�A‚»‚̃Nƒ‰ƒX‚É–½‚ð��‚«�ž‚ñ‚¾�B‚»‚ê‚Í
class Adam
�@def aruku
�@�@print "‚ ‚é‚«‚Ü‚·"
�@end
�@def neru
�@�@print "‚˂܂·"
�@end
�@def okiru
�@�@print "‚¨‚«‚Ü‚·"
�@end
end
Human_Adam=Adam.new
Human_Adam.okiru
‚Å‚ ‚é�B‚±‚¤‚µ‚Ä�l‚Í�¶‚«‚é‚à‚̂ƂȂÁ‚½�B
0075Ruby�~
NGNG1:13 ‚»‚±‚Å�_‚Í–ì‚Ì‚ ‚ç‚ä‚é�b�A‹ó‚Ì‚ ‚ç‚ä‚é’¹‚ðƒNƒ‰ƒX‚ÅŒ`�ì‚è�A�l‚Ì�Š‚Ö
‚à‚Á‚Ä‚«‚½�B�l‚ª‚»‚ꂼ‚ê‚Ç‚¤ŒÄ‚Ô‚©Œ©‚Ä‚¨‚ç‚ꂽ�B
‚¾‚ªŽ©•ª‚É�‡‚¤�•‚¯‚éŽÒ‚ÍŒ©‚‚¯‚鎖‚ª�o—ˆ‚È‚©‚Á‚½�B�_‚Í‚»‚±‚Å�l‚ð�[‚¢
–°‚è‚É—Ž‚Æ‚³‚ꂽ�B�l‚ª–°‚邯�l‚̘]�œ‚̈ꕔ‚𔲂«�AƒNƒ‰ƒX‚ðŒp�³‚µ‚»‚Ì
Œã‚ð“÷‚łӂ³‚ª‚ꂽ�B‚»‚µ‚Ä�A�l‚©‚çŒp�³‚µ‚½ƒNƒ‰ƒX‚Å�—‚ð�ì‚è�ã‚°‚ç‚ꂽ�B
‚»‚Ì–¼‚ðEve‚ƌĂñ‚¾�BHuman_Eve‚Å‚ ‚é�B
class Eve
�@def aruku
�@�@print "‚ ‚é‚«‚Ü‚·"
�@end
�@def neru
�@�@print "‚˂܂·"
�@end
�@def okiru
�@�@print "‚¨‚«‚Ü‚·"
�@end
�@def aisatu
�@�@print "‚±‚ñ‚É‚¿‚Í"
�@end
end
Human_Eve=Eve.new
Human_Eve.okiru
1:14 ƒCƒuƒNƒ‰ƒX‚ɂ̓�ƒ\ƒbƒhaisatu‚ª‰Á‚í‚Á‚½�B�l‚ª‚»‚ꂼ‚ê‚Ç‚¤ŒÄ‚Ô‚©Œ©‚Ä‚¨
‚ç‚ꂽ�B�l‚ª�uHuman_Eve.aisatu�v‚ƌĂԂ̂ð�_‚Í–ÚŒ‚‚³‚ꂽ�B‚䂦‚É(.)‚ð‰î‚µ
‚½ƒIƒuƒWƒFƒNƒg‚̃AƒNƒZƒX‚ð"ƒŒƒV�[ƒoŒ`Ž®"‚â"ƒ�ƒbƒZ�[ƒW‚ðŒÄ‚Ô"‚Æ‚¢‚¤‚̂ł
‚é�B
0076Ruby�~
NGNG�uƒNƒ‰ƒX‚½‚¿‚æ�A‰‰ŽZŽq‚ð‚àƒNƒ‰ƒX‚̃�ƒ\ƒbƒh‚É‚¹‚æ�B‚·‚ׂẴNƒ‰ƒX‚É–ž‚¿‚Ä
ƒIƒuƒWƒFƒNƒg‚ɑ΂·‚é(+)(-)(*)‚̓�ƒ\ƒbƒh‚Æ‚¹‚æ�v�_‚Í�”’l‚ɑ΂·‚é‰ÁŽZ‰‰ŽZŽq
‚½‚¿�AŒ¸ŽZ‰‰ŽZŽq‚½‚¿‚ð‚»‚ê‚¼‚ê‚Ƀ�ƒ\ƒbƒh‚Æ‚µ‚Ä�j•Ÿ‚³‚ꂽ�B
1:16 ŒÌ‚ɃIƒuƒWƒFƒNƒg(1)‚Í�A‰‰ŽZŽq‚Æ‚µ‚Ä‚Ì(+)(-)(*)(/)‚̓�ƒ\ƒbƒh‚Æ‚µ‚Ä
—�‰ð‚µ�AŽ©‚炪�®�”‚Å‚ ‚鎖‚ð’m‚Á‚Ä‚¢‚é‚̂Ɠ¯Žž‚ÉŽ©‚炪‚ǂ̗l‚ȉ‰ŽZ‚ð‚·‚é
‚ׂ«‚Ȃ̂©‚ð‚à’m‚Á‚Ä‚¢‚é‚̂ł ‚é�B
0077Ruby�~
NGNG•¶Žš—ñ‚ð�”’l‚ɕϊ·‚·‚éƒ�ƒ\ƒbƒh‚ð”õ‚¦‚æ�AString‚ɑ΂·‚鉉ŽZ‚Í•¶Žš—ñ
‚̘AŒ‹‚Æ‚µ�A•¶Žš—ñ‚Ì‘€�ìƒ�ƒ\ƒbƒh‚ð”õ‚¦‚æ�B�v‚»‚̂悤‚ɂȂÁ‚½�B
1:18 ŒÌ‚É�A•¶Žš—ñ("3.14")‚Í�A("3.14".to_i)‚Æ‚¢‚¤�®�”‚ւ̕ϊ·
ƒ�ƒ\ƒbƒh‚ð—�‰ð‚µ�A("3.14".to_f)‚Æ‚¢‚¤FloatŒ^‚ւ̕ϊ·‚ð—�‰ð‚µ�A
("pi"+"3.14")‚Æ‚¢‚¤‰‰ŽZŽq(+)‚̓�ƒ\ƒbƒh‚Æ‚µ‚Ä•¶Žš—ñ‚ð˜AŒ‹‚µ�A
("abcdef".length)‚Æ‚¢‚¤ƒ�ƒ\ƒbƒh‚Å•¶Žš—ñ‚Ì’·‚³‚ð—�‰ð‚µ�A
("abcdef".reverse)‚Å•¶Žš—ñ‚ð‹t‚³‚܂ɂµ�A("abcdef".empty?)‚Å
•¶Žš—ñ‚ª‹ó‚©‚ð’m‚è�A("abcdef".swapcase)‚Å�¬•¶Žš‚ð‘å•¶Žš‚ɕϊ·‚µ�A
("abcdef".sub("abc","xyz"))‚ÅŒŸ�õ‚µ‚½•¶Žš—ñ‚ð’uŠ·‚µ�A
("abcdef".rindex(/cd*/))‚Å�³‹K•\Œ»‚É‚æ‚èˆê’v‚µ‚½•¶Žš—ñ‚̈ʒu‚ð•Ô‚·
Ž–‚ð’m‚Á‚Ä‚¨‚è�A‚³‚ç‚É�A•¶Žš—ñ‚̈Ã�†‰»‚܂łð‚à’m‚Á‚Ä‚¢‚é‚̂ł ‚é�B
�_‚Í‚±‚ê‚ðŒ©‚Ä‚æ‚µ‚Æ‚³‚ꂽ�B
0078Ruby�~
NGNG”z—¶‚È‚³‚ꂽ�B‚»‚ê‚ÍPerl‚Ì—l‚É‹L�q‰Â”\‚É‚³‚ê‚邽‚߂ł ‚é�B
‚»‚ê‚̓Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚Å(Integer(123.456))‚ÉŒ»‚ꂽ�B(Integer)‚ª‚ ‚è
(Float)‚ª‚ ‚Á‚½�B
‚±‚ê‚Í�^‚̃IƒuƒWƒFƒNƒgŽwŒü‚Ì�_”é‚ÌŽp‚ð‚»‚ê‚Æ‚È‚Œ»‚µ‚½�B
1:20 Œ©‚æ�A�^‚Ì•\‹L‚Í(Kernel.Integer(123.456))‚Å‚ ‚鎖‚ð�B
0079ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdef aruku
print "‚ ‚é‚«‚Ü‚·"
end
def neru
print "‚˂܂·"
end
def okiru
print "‚¨‚«‚Ü‚·"
end
end
Adam=Man.new
Adam.okiru
class Woman < Man
def aisatsu
print "‚±‚ñ‚É‚¿‚Í"
end
end
Eve=Woman.new
Œ¾‚¢‚½‚¢‚±‚Æ‚à‚æ‚‚í‚©‚ç‚ñ‚ª‚±‚¤‚¶‚á‚È‚¢‚Ì‚©�H
0080ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby‚Æirb‚𓯂¶ƒŒƒxƒ‹‚ňµ‚¤‚͕̂ς¶‚á‚È‚¢‚©�H
0081–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGŒ‹‰Ê“I‚Ƀ}ƒ‹ƒ`�B
0082ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�uend‚È‚ñ‚Ä�¡‚Ç‚«‚Í‚â‚ç‚È‚¢‚æ�B
ƒCƒ“ƒfƒ“ƒg‚Ńuƒ�ƒbƒN�\‘¢‚ð•\Œ»‚µ‚悤‚æ�v
�u‚Å‚à�Aone-liner�‘‚¯‚È‚‚È‚Á‚¿‚Ⴄ‚©‚ç‚È�v
ƒAƒ_ƒ€‚Í—U˜f‚ɂ̂è‚Ü‚¹‚ñ‚Å‚µ‚½
�u‚»‚ê‚æ‚©�AƒCƒeƒŒ�[ƒ^(ƒuƒ�ƒbƒNˆø�”)‚Á‚Ăǂ¤�H�v
�u‚¨�A‚»‚ê‚©‚Á‚±‚¢‚¢‚Ë�v
ƒAƒ_ƒ€‚ª‹t‚Ƀwƒr‚ð—U˜f‚·‚邯�A
ƒwƒr‚͂܂ñ‚܂ƗU˜f‚ɂ̂Á‚ÄGENERATOR‚܂ŎÀ‘•‚µ‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½
0083ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚ê‚ðŒ©‚Ä‚¢‚½Žå‚Í“{‚è‚Ü‚µ‚½�B
�uƒ|ƒXƒgperl‚ð–ÚŽw‚·ƒIƒuƒWƒFƒNƒgŽwŒüƒXƒNƒŠƒvƒgŒ¾Œê“¯Žm‚Å
‘ˆ‚¤‚Ƃ͉½‚½‚邱‚Æ‚¾�B
‚±‚ê‚æ‚è‰i‰“‚ÉRuby‚ÍŽô‚í‚ê�A
ƒ€”‚̑S‚Ä‚ÌRubyŠÖ˜AƒXƒŒ‚Í�r‚ê‚é‚Å‚ ‚낤�B
ƒlƒXƒg‚µ‚½ƒuƒ�ƒbƒN�\‘¢‚̃XƒR�[ƒv‚Ì–â‘è‚Í
‰i‰“‚É‰ðŒˆ‚³‚ê‚È‚¢‚Å‚ ‚낤
Ruby‚Ì�¢‘ã•ÊGC‚Í––‘ã‚܂Ōø‰Ê‚ð•\‚³‚¸
ƒlƒCƒeƒBƒuƒXƒŒƒbƒh‚ª“±“ü‚³‚ê‚é“ú‚Í�â‘΂ɗˆ‚È‚¢‚¾‚낤�v
0084ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0085–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGÜ×À
‚»‚¤‚©�AƒXƒR�[ƒv‚àGC‚àƒXƒŒƒbƒh‚à‚»‚±‚ª–â‘肾‚Á‚½‚ñ‚¾‚È�B
Žå‚Ƀpƒbƒ`‚«‚Ú‚ñ‚Ê�B
0086ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¨‚¢‚¨‚¢�AŒp�³‚µ‚ĂȂ¢‚¶‚á‚ñ�B
0087ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚º Unix ‚ł̓VƒFƒ‹ƒXƒNƒŠƒvƒg‚Ȃǂð setuid ‚µ‚Ă͂¢‚¯‚È‚¢‚±‚Æ‚É
‚È‚Á‚Ä‚¢‚é‚̂łµ‚傤‚©�H
0088ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGޏŒh‚È!
python‚ÌGENERATOR‚Í�ARuby‚̃Cƒ“ƒ`ƒLITERATOR‚ƈá‚Á‚Ä�A
‹Ø‚Ì‚¢‚¢‚«‚¿‚ñ‚Æ‚µ‚½Žd—l‚¾‚æ
“–‘R�ARuby‚Ì�^Ž—‚ð‚µ‚½‚킯‚ł͂Ȃ¢
0089C++
NGNG–l‚Ì”½•œŽq‚ð�ŸŽè‚ÉŽ�‚¿�o‚µ‚½‚Ì‚Í�B
0090ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽå‚È‚é�_‚Ípython‚É‚à�é��‚µ‚Ü‚µ‚½
�u‚±‚ê‚æ‚èpython‚ÍŽô‚í‚ê�A
‚¢‚©‚È‚éƒJƒbƒgƒAƒ“ƒhƒy�[ƒXƒg‚àƒCƒ“ƒfƒ“ƒg‚ª‚¸‚ê‚é‚Å‚ ‚낤�B
‹@”\‹‰»‚Ì‚½‚тɌ݊·�«‚Í”÷–‚ÉŽ¸‚È‚í‚ê�A
‘S‚Ă̊g’£ƒ‚ƒWƒ…�[ƒ‹‚ÍƒŠƒtƒ@ƒŒƒ“ƒXƒJƒEƒ“ƒg‚ðŠÔˆá‚¤‚¾‚낤�B
‚»‚µ‚Ä�A‚¨‘O‚½‚¿‚ÌŽq‘·‚ÍŽô‚¢‚Ì‚½‚ß‚Éself. self. self.‚ÆŽ€‚ʂ܂Å�‘‚«‘±‚¯‚é‚Ì‚¾�v
0091ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚µ‚Ä�A‘S‚Ä‚ÌpythonŠÖ˜AƒXƒŒ‚ÍŽô‚¢‚Ì‚½‚߂ɂ³‚Ñ‚ê
”p‹•‚Ɖ»‚µ�A‰i‰“‚É1000‚É“ž’B‚·‚邱‚Ƃ͂Ȃ¢‚Ì‚¾!
0092–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGƒZƒLƒ…ƒŠƒeƒB“I‚Ɋ댯‚¾‚©‚ç�BƒXƒNƒŠƒvƒg‚̓vƒ�ƒOƒ‰ƒ€‚Å‚ ‚è‚È‚ª‚ç�Aƒvƒ�ƒZ
ƒX‚Ì�¶�¬‚ÆŽÀ�ۂ̓ǂÝ�ž‚݂̃^ƒCƒ~ƒ“ƒO‚É�·‚ª‚ ‚é�B‚»‚ÌŠÔ‚É�AsuidƒXƒNƒŠƒv
ƒg‚Ö‚Ìsymlink‚ð•ʂ̃XƒNƒŠƒvƒg‚Å’u‚«Š·‚¦‚邯‚¢‚¤‚±‚Æ‚ª(—�‹ü‚Æ‚µ‚Ä‚Í)‰Â
”\‚ɂȂÁ‚Ä‚µ‚Ü‚¤�B
‘¼‚É‚à�AƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚Í‘¼‚̃vƒ�ƒOƒ‰ƒ€‚ðŒÄ‚Ñ�o‚·‚±‚Æ‚ª‘½‚¢‚µ�A‚·‚ׂÄ
‚̃vƒ�ƒOƒ‰ƒ€‚Åsuid�ó‘Ô‚ð�l—¶‚µ‚Ä‚ ‚邯‚ÍŒÀ‚ç‚È‚¢‚Æ‚¢‚¤‚Ì‚à‚ ‚é�B
0093–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG‚ ‚Æ�AƒoƒCƒiƒŠ‚È‚çŽÀ�s’†‚Í”r‘¼ƒ�ƒbƒN‚³‚ê‚邪�AƒXƒNƒŠƒvƒg‚Í‚³‚ê‚È‚¢‚Æ‚¢
‚¤‚Ì‚à‚ ‚é�B‚Ü‚Ÿ�Aƒp�[ƒ~ƒbƒVƒ‡ƒ“‚ª“K�؂Ȃç–â‘è‚È‚¢‚µ�A’Ê�í�‘‚«�ž‚Þ‚Æ
suidƒtƒ‰ƒO‚̓NƒŠƒA‚³‚ê‚é‚ñ‚ňê‰ñ‚µ‚©ƒgƒ‰ƒC‚Å‚«‚È‚¢‚©‚ç�A‚±‚ê‚É‚æ‚é‰üâ‚
‚Ílink‚É‚æ‚é‚·‚è‘Ö‚¦‚æ‚è‚à‚³‚ç‚ɓ‚¢‚µ�A�d—v“x‚Í’á‚¢‚¯‚Ç‚Ë�B
0094Hymns
NGNGPython��ƒpƒCƒ\ƒ“��‘åŽÖ��ƒwƒr�A‚Å‚·‚©�H
0095ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGInteger(1.23)=>Kernel.Integer(1.23)
IntegerƒNƒ‰ƒX‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚É‚æ‚è(1.23=>1)‚ɂȂè�®�”ƒIƒuƒWƒFƒNƒg‚Æ
‚È‚Á‚Ä‹A‚Á‚Ä‚«‚½�B
print=>Kernel.print=>STDOUT.print
puts=>Kernel.puts=>STDOUT.puts
‚Q‚‚ÍIOƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Å‚ ‚邪STDOUT‚ð�‘‚©‚È‚¢‚ƃ‚ƒWƒ…�[ƒ‹Kernel
‚ªŒÄ‚΂ê‚é‚̂Ō‹‹ÇSTDOUT‚ª–³‚‚Ä‚à‚æ‚¢�B
‚±‚ê‚Å‚æ‚낵‚¢‚Ì‚©�H
0096ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://mikilab.doshisha.ac.jp/~junjis/ruby/ruby003.html
0097ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.nurs.or.jp/~asada/FAQ/UNIX/section4.7.html
0098Seisei_Yamaguchi
NGNG0099ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ß‚¸‚炵‚‚ӂ‚¤‚ȃŒƒX‚¾‚È�B
0100ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp‚Ìget‚Ńy�[ƒW‚ðŽæ“¾‚·‚éŒÂ�Š‚ðˆÈ‰º‚̂悤‚É�‘‚«‚Ü‚µ‚½�B
ƒeƒXƒg‚ÉŠô‚‚©‚̃TƒCƒg‚ðŽŽ‚µ‚Ä‚¢‚½‚ç�A‚ ‚éƒTƒCƒg‚ł͓]‘—‚Ɉ³�k‚ð
‚©‚¯‚Ä‚¢‚é‚炵‚�A
�u‚¤‚¿‚͈³�k‚©‚¯‚Ă邩‚çƒuƒ‰ƒEƒU‚Ì�Ý’è‚ðŠm”F‚µ‚Ä‚Ë�B�v
‚Á‚Ăȃ�ƒbƒZ�[ƒW‚ª�o‚Ü‚·�B
‚Ç‚¤‚â‚ê‚Έ³�k‚µ‚½“]‘—‚ɑΉž‚Å‚«‚é‚̂łµ‚傤‚©�B
‚ǂȂ½‚©‹³‚¦‚Ä‚‚¾‚³‚¢�B‚æ‚낵‚‚¨Šè‚¢‚µ‚Ü‚·�B
require 'net/http'
Net::HTTP.start('xxx.yyy.zzz',80){|http|
response = http.get('/cgi-bin/index.cgi')
tmp_file.print response
}
0101ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ª‚ñ‚΂ê‚Î�B
‚Á‚Ă̂̓_ƒ�?
Ruby/zlib‚ ‚½‚肪�•‚¯‚ɂȂÁ‚Ä‚‚ê‚é‹C‚ª‚·‚é‚Å‚·‚Ë�B
0102ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGresponse = http.get('...', ['accept-encoding'=>'gzip'])
‚©‚È�B–Y‚ꂽ‚¯‚Ç�B
0103ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGttp://www.unixuser.org/~haruyama/software/goRua/
‚Ì”z•z•¨‚Ì’†‚Ìconnect2.rb‚ªŽQ�l‚É‚È‚é‚ÆŽv‚¤�B‚±‚̃tƒ@ƒCƒ‹‚ÌHTTPGetGzip‚É
gzip‚³‚ꂽƒy�[ƒW‚ðHTTP‚Ŏ擾‚·‚éƒ�ƒ\ƒbƒh‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚é�B
0104ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby ‚Å‚Í main ƒ�ƒ\ƒbƒh(?)‚ðƒNƒ‰ƒX‚Ì’†‚É�‘‚©‚È‚¢‚̂ł·‚©�H
0105ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGDir.foreach( '/' ) do |file|
if File.directory?( file )
puts( File.directory?( file ).to_s( ) + " " + file );
end
end
‚Å�A. ‚Æ .. ‚µ‚©�o‚È‚¢‚̂͂Ȃº‚Å‚·‚©�H
0106ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGfile ‚̓tƒ@ƒCƒ‹–¼‚µ‚©“ü‚ç‚È‚¢�B
‚»‚̃R�[ƒh‚¾‚Æ�A�uƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ/file�v ‚𒲂ׂé�B
file ‚Ì‘O‚ɃpƒX‚ð•t‚¯‚Ä‚â‚ç‚È‚¢‚ƃ_ƒ��B
0107ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰½‚É‚à•ï‚܂Ȃ¢‚Å�‘‚¯‚΂»‚ꂪ main�B
‚»‚̕ӂªƒXƒNƒŠƒvƒgŒ¾Œê�B
0108ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>106
ƒTƒ“ƒNƒXŽq
0109ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby‚ÅCGI�‘‚‚Æ‚«‚Á‚Ä‚â‚Á‚σIƒuƒWƒFƒNƒgŽwŒü‚É‚±‚¾‚í‚ç‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Ì‚©‚È‚Ÿ�H
0110ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0111ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWebƒAƒvƒŠƒP�[ƒVƒ‡ƒ“ƒtƒŒ�[ƒ€ƒ��[ƒN
http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=Web%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF
�„‚ ‚Á‚¿‚Ì56
‚¨‹q‚É“n‚·ƒVƒXƒeƒ€‚ɂ͎g‚Á‚ĂȂ¢‚ª�A
ƒc�[ƒ‹�ì‚Á‚½‚èƒVƒXƒeƒ€‚̃eƒXƒg‚ÉŽg‚Á‚½‚è‚Í‚µ‚Ä‚é�B
0112ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚±‚Å�Љ‚ê‚Ä‚¢‚郉ƒCƒuƒ‰ƒŠ‚ðCGI‚Å‹CŒy‚ÉŽg‚¤‚͓̂‚¢‚ÆŽv‚¤�B
IOWA‚ÍŠJ”ŽÒ‚ªsmalltalk‚É—¬‚ê‚ÄŠJ”‚ªŽ~‚Ü‚Á‚Ä‚¢‚é�B
Div‚ÆWalrus‚ÍdRuby‚ª•K—v‚Å�ACGI‚Ń\ƒPƒbƒg‚ðŽg‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢�B
Facet‚àŠJ”‚ªŽ~‚Ü‚Á‚Ä‚¢‚邿‚¤‚ÉŒ©‚¦‚é�B
http://www.moonwolf.com/ruby/
‚ÅCGIƒ‰ƒCƒuƒ‰ƒŠ‚ðŠJ”‚µ‚Ä‚¢‚é‚炵‚¢‚¯‚Ç�A‚Ç‚¤‚¢‚¤Š´‚¶‚È‚ñ‚¾‚낤‚©�H
0113ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Å�ArubyŠÖŒW‚Ì•³ƒXƒŒ�í�œ‚ɂ‚¢‚Ä‚²ˆÓŒ©•å�W’†‚Å‚·�B
0114110
NGNG‰ð�Í’ö“x‚È‚çŠÈ’P‚¾‚µ�B
0115ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0116114‚¶‚á‚È‚¢‚¯‚Ç
NGNGHTTPResponse ‚ð�ì‚Á‚ĕԂ·
ƒNƒbƒL�[�EƒZƒbƒVƒ‡ƒ“‚ðˆµ‚¤
HTTPResponse‚Íbody‚Ì“à—e‚ÉŠÖ—^‚µ‚È‚¢
‚±‚ꂾ‚¯‚Å‚«‚ê‚Î�[•ª‚Ȃ̂Å�AHTML�¶�¬Žx‰‡‹@”\‚Ý‚½‚¢‚Ȃ̂Í
–³‚µ‚É‚·‚é‚©•ʂɂµ‚½•û‚ª‚¢‚¢‚̂ł͂Ȃ¢‚©‚ÆŽv‚¢ƒ}ƒXƒ^
0117114‚¾‚¯‚Ç
NGNG‚ ‚Ƃł©‚‚Ä’x‚¢�B‹C‚ª‚·‚é�B
0118ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/11542
0119ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/40965
‚É‚æ‚邯�A•ª—£‚·‚é‚‚à‚è‚炵‚¢�H‚È‚ñ‚©”÷–‚È•\Œ»�B
>> 118
ruby-talk‚Å‚à�o‚Ä‚é‚È‚
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/39898
�ìŽÒ‚̕Ԏ–‚ª‚±‚ê
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/39962
0120ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0121�æ�¶�AŽ¿–â‚Å‚·�I
NGNGThanx!
0122ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“°‚µ‚“¯ˆÓ
0123ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG[ruby-talk:48705] Ruby aesthetics
> Hello. I've been checking into python lately quite a lot, and I
> like its clean syntax.
>
> Then comes Ruby, which I find is inferior to python aesthetically.
0124ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0125ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“TŒ^“I‚¾‚È�c
0126ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ}ƒ^�[ƒŠ‚¢‚«‚Ü‚µ‚傤‚æ�B
0127ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰´‚͘m‚Á‚ă’ƒ`‚µ‚Ä‚é‚ñ‚¾‚¯‚Ç�Aƒ}ƒWƒŒƒX‚µ‚Ä‚é‚Ì‚ª‚¢‚é‚È‚Ÿ�B
ƒAƒ�ƒŠƒJ�l‚©‚È�B‚¿‚Ȃ݂É48705‚Ì��‹ïŽt‚̓hƒ�ƒCƒ“‚©‚ç‚·‚邯ƒtƒBƒ“ƒ‰ƒ“ƒh�B
‚Ü‚Ÿ�ø‚è‚ðŠy‚µ‚ß‚é’ö‰pŒê‚Í‚¤‚Ü‚‚È‚¢‚Ì‚Å�A“K“–‚É‚â‚Á‚Ä‚‚ê‚Á‚Ä‚±‚Á‚½�B
0128ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“°‚µ‚“¯ˆÓ
0129ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚ê‚‚ç‚¢‚Ì”½‰ž‚È‚ç•ʂɗǂ¢‚ñ‚¶‚á‚È‚¢�H
‚¨‚ê‚͘_‘ˆ‚ɂȂé‚ñ‚¶‚á‚È‚¢‚©‚ÆŽv‚Á‚Ä‚½‚ñ‚¾‚ª�A
ruby-talk‚݂̂Ȃ³‚ñ‘å�l‚¾‚Ë‚¦�B
0130ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“¯ˆÓ�B
‚µ‚©‚µ�A48725�A48725‚ ‚½‚è‚Í‚ ‚Á‚³‚èŽó‚¯—¬‚µ‚Ă邿‚¤‚¾‚¯‚Ç�A
48716‚ª‚æ‚‚í‚©‚ç‚ñ�B�u‚¨‘O‚̓gƒ��[ƒ‹‚©?�v‚Á‚Ä‚¢‚Á‚Ä‚ñ‚Ì‚©�A
�u’ނ낤‚Æ‚µ‚Ä‚é?�v‚Á‚‚Á‚Ä‚ñ‚Ì‚©�B
0131ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGModel ‚Æ View ‚𕪗£‚·‚邽‚ß�A•Ï�”‚¾‚¯“n‚·•û–@‚͂Ȃ¢‚¾‚낤‚©�B
eruby ƒtƒ@ƒCƒ‹‚É�A•Ï�”‚ð’ljÁ‚µ‚Ä‚â‚邯‚©�B
Marshal ‚ð‚¤‚Ü‚Žg‚Á‚Ä�Ahtml ‚ð�¶�¬‚·‚éƒ�ƒ\ƒbƒh‚Å‚à�ì‚낤‚©‚ÆŽv‚Á‚½‚ñ‚¾‚¯‚Ç
‚à‚¤�‚µƒXƒ}�[ƒg‚È•û–@‚ª‚ ‚ê‚΋³‚¦‚Ăقµ‚¢�B
0132132
NGNG<body>
<h1><%= title %></h1>
<ul>
<%
list.each { |item|
%>
<ul>
<% list.each { |i| %>
<li><%= i %>
<% } %>
</ul>
</body>
--hoge.rb
title = 'title'
list = ['a','b']
erb = erb('hoge.rhtml')
erb.add_val('list', list)
erb.add_val('title', title)
erb.gene
‚½‚Æ‚¦‚΂±‚ñ‚È‚â‚Â
0133132
NGNG0134ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0135ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWalrus/OBAQ‚Ìamrita‚ðŽg‚¤�B
0136ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒAƒ€ƒŠƒ^‚Å�‘‚¢‚Ă݂½
-------------------------------
require "amrita/template"
include Amrita
t = TemplateText.new <<END
<body>
<h1 id="title"></h1>
<ul>
<li id="list">
</ul>
</body>
END
data = {
:title => 'ƒ^ƒCƒgƒ‹',
:list => [ 'aaa', 'bbb' ]
}
t.expand(STDOUT, data)
-------------------------------
Œ‹‰Ê
<body>
<h1>ƒ^ƒCƒgƒ‹</h1>
<ul>
<li>aaa</li><li>bbb</li></ul>
</body>
----------------------------------
0137hn
NGNG‚ ‚Á‚³‚è‚Å‚«‚½�B‚·‚°‚¥�B
>>136
‚»‚ê‚Ì�l‚¦•ûˆê‰ñƒEƒFƒuƒTƒCƒg‚ÅŒ©‚Ä–Ê”’‚¢‚ÆŽv‚Á‚½‚ñ‚¾‚¯‚Ç�B‚Ç‚¤‚¹‚È‚ç
--
<ul id="list">
<li>Test Message 1</li>
<li>Test Message 2</li>
</ul>
�«
<ul><li>aaa</li><li>bbb</li></ul>
--
‚Á‚Ä‚µ‚½‚Ù‚¤‚ª‚³‚ç‚É�ì‚è‚â‚·‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÆŽv‚Á‚½�B
0138ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGJava‚Æ”äŠr‚µ‚Ăǂ¤‚Å‚µ‚傤‚©�H
0139ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0140ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0141ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0142ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0143ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby‚Í”äŠr‚ɂȂç‚ñ‚Ù‚Ç’x‚¢‚Å‚·�B
0144ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0145ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤‚»‚΂Á‚©‚è�B
�‘‚¢‚ĂĂނȂµ‚‚È‚¢‚Ì�H
0146ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Java > Python
0147Œ»ŽÀ‚Í�d�d�d
NGNG0148ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0149ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�›�›>>>�~�~>>>>>�¢�¢‚Ý‚½‚¢‚È•\Œ»‚ª‚łĂ‚邯
•³ƒXƒŒ‚ɂȂ肻‚¤‚Ȃ̂Å�T‚¦‚悤‚æ�B
‚»‚ê‚æ‚è‚à�•‚¯‚Ä‚‚¾‚³‚¢!
ƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚̃tƒ‹ƒpƒX‚𓾂悤‚ÆŽv‚Á‚Ä
‰º‚̂悤‚ȃR�[ƒh‚ð�‘‚¢‚½‚ç�ANameError‚ª•Ô‚Á‚Ä‚«‚Ü‚µ‚½�B
d = Dir.new("/home/")
puts d.pwd
Œ‹‰Ê
test.rb:4: undefined method `pwd' for #<Dir:0x401c6bf8> (NameError)
‚±‚ê‚Á‚ă�ƒ\ƒbƒh‚ª–³‚¢‚Á‚Ä‚¢‚í‚ê‚Ä‚é‚ñ‚Å‚·‚æ‚Ë?
ŽŽ‚µ‚É
p d.public_methods
‚ð‚µ‚Ä‚Ý‚½‚ñ‚Å‚·‚¯‚Çpwd�Agetwd‚̂ӂ½‚‚̒PŒê‚Í‘¶�Ý‚µ‚Ü‚¹‚ñ‚Å‚µ‚½�B
‚±‚ê‚ÍRuby‚̃Cƒ“ƒXƒg�[ƒ‹Žž‚É–â‘肪‚ ‚Á‚½‚̂łµ‚傤‚©?
ŠÂ‹«‚͉º‹L‚̂Ƃ¨‚è‚Å‚·�B
Ruby 1.6.7
SerioWare GNU/Linux
0150ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGDir::pwd
or
Dir.pwd
0151ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚È‚½�A’Þ‚ç‚ê‚Ă܂·�B144 ‚Í Ruby�~‚ð‘•‚Á‚Ä‚¢‚é”S’…ƒAƒ“ƒ`‚È‚ñ‚Å�A”½‰ž‚µ‚Ă邯
’p‚¸‚©‚µ‚¢‚Å‚·‚æ�B
‚Å�AŽÀ�ۂ̂Ƃ±‚ë‚Ì‘¬“x‚Í�Aruby ‚â perl ‚Ȃǂ̃XƒNƒŠƒvƒgŒnŒ¾Œê‚Í�A‚Ù‚Æ‚ñ‚Ç‚Ì�ê�‡
Java ‚æ‚è’x‚¢‚Å‚µ‚傤�Bruby ‚Í Java ‚æ‚肸‚Á‚Æ“®“I‚ÈŒ¾ŒêŽd—l‚Ȃ̂łǂ¤‚µ‚Ä‚à‚»‚¤
‚È‚è‚Ü‚·‚ª�A‚Ç‚¿‚炪ˆ«‚¢‚킯‚ł͂Ȃ•K—v‚ɉž‚¶‚ÄŽg‚¢•ª‚¯‚é‚ׂ«‚à‚̂ł·�B
0152ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>>150 ‚ª�‘‚¢‚Ä‚¢‚邯‚Ç�Apwd‚ÍDirƒNƒ‰ƒX‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚¾‚©‚ç�A
Dir‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚Äpwd‚ðŒÄ‚Ú‚¤‚Æ‚µ‚Ä‚àƒGƒ‰�[‚ɂȂÁ‚Ä‚µ‚Ü‚¤‚æ�B
0153ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚Ì‘¬“x‚ªJava‚É—ò‚é‚킯‚ª‚ ‚è‚Ü‚¹‚ñ�B
‚Ü‚µ‚ÄPython‚È‚ñ‚©‚É
0154ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚©‚ç‚·‚ê‚Î�APerl>Java
‚Ü‚½�ARuby‚ÍPerl‚Ƃ͔äŠr‚ɂȂç‚È‚¢’ö�‚‘¬‚Ȃ̂Å�A
Ruby >>>>>>>>>>>>>>>>>>> Java > Perl‚ªŒ¾‚¦‚é�B
0155ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby >>>>>> C++ ‚¾‚ë�i‚Õ
http://pc3.2ch.net/test/read.cgi/tech/1017201348/
0156ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚Å‚à”äŠr‚µ‚½‚¢�l‚à‚¢‚é‚Ì‚Å�Aˆê‰žƒŠƒ“ƒN‚¾‚¯�B
http://www.bagley.org/~doug/shootout/
http://www.bagley.org/~doug/shootout/conclusion.shtml
ƒxƒ“ƒ`ƒ}�[ƒN‚É‚ÍRuby-1.6.6‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚Å�A1.7.xŒn‚ðŽg‚¦‚Î
ˆá‚¤Œ‹‰Ê‚É‚È‚é‚æ‚¤‚È‹C‚à‚·‚é�B
‚Ü‚ �A‚ ‚‚܂ŖڈÀ‚Æ‚µ‚ÄŽg‚¤‚Ì‚ª—Ç‚¢‚ñ‚¶‚á‚È‚¢‚©‚È�B
‚»‚ê‚É‚µ‚Ä‚àocaml�Acmucl�Ase‚ ‚½‚è‚Í‚©‚Ȃ葬‚¢�B
ƒlƒCƒeƒBƒuƒR�[ƒh‚ɕϊ·‚Å‚«‚é‚©‚ç‚©‚È?
0157149
NGNG‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
‚»‚¤‚©�AƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚ƃCƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚̈Ⴂ‚¾‚Á‚½‚Ì‚©�B
‚Ü‚¾‚Ü‚¾—�‰ð‚ª‘«‚è‚È‚¢‚È > Ž©•ª
‚æ�[‚µ�A‚ª‚ñ‚΂邼!
0158ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0159ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0160ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚í‚©‚è‚É‚‚¢‚µ�B•Ê‚É Dir ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚Å pwd Žg‚¦‚½‚Á‚Ä‚¢‚¢‚¶‚á‚ñ�A‚Æ‚©�B
0161ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ‚à‚©‚�AƒCƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚ƃNƒ‰ƒXƒ�ƒ\ƒbƒh‚͕ʕ¨‚Å�A
‚»‚ꂼ‚ê‘¶�Ý‚·‚é—�—R‚à‚ ‚è‚Ü‚·‚Ì‚Å�A‚»‚Ì‚¤‚¿Žg‚¢•ª‚¯‚ç‚ê‚邿‚¤‚É
‚È‚ê‚΂¢‚¢‚Å‚µ‚傤�B‚»‚ê‚܂łÍ�AŽô•¶‚ðŠo‚¦‚邿‚¤‚ÉDir.pwd‚ðŽg‚Á‚ĂĂà
—Ç‚¢‚ÆŽv‚¢‚Ü‚·�B
‚¦‚ç‚»‚¤‚É�‘‚¢‚ĽϿsage�B
0162ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGpwd‚Á‚Ă̂̓vƒ�ƒZƒX‘S‘̂ŋ¤—L‚·‚é‚à‚Ì‚Å�A•¡�”‘¶�Ý‚µ‚¤‚éƒCƒ“ƒXƒ^ƒ“ƒX‚É
�Š‘®‚·‚é‚à‚̂ł͂Ȃ¢�B
‚Æ‚¢‚¤�à–¾‚ł͔[“¾‚Å‚«‚È‚¢‚©?
0163ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ‚¢‚¤‚±‚Ƃ̓Cƒ“ƒXƒ^ƒ“ƒX‚Ɉˑ¶‚µ‚È‚¢‘S‘̂Ɋ֌W‚·‚邿‚¤‚ȃ�ƒ\ƒbƒh‚ªƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Æ
‚Á‚Ä‚±‚Ƃłµ‚傤‚©�Bƒ‚ƒWƒ…�[ƒ‹ŠÖ�”‚Æ“¯‚¶‚悤‚È�B
0164ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¨‚ê‚Í
public‚ȃNƒ‰ƒXƒ�ƒ\ƒbƒh = ƒ‚ƒWƒ…�[ƒ‹ŠÖ�”
‚Æ—�‰ð‚µ‚Ä‚¢‚é�BƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚ªƒCƒ“ƒXƒ^ƒ“ƒX‚Ɉˑ¶‚·‚é‚©‚Ç‚¤‚©‚Í
ŽÀ‘•‚É‚æ‚邯Žv‚¤‚ª�A•�’ʂ͑S‘̂Ɋւ·‚éƒ�ƒ\ƒbƒh‚ª‘½‚¢‚È�B
ŒÂ�l“I‚ɂ̓Nƒ‰ƒXƒ�ƒ\ƒbƒh‚⃂ƒWƒ…�[ƒ‹ŠÖ�”‚Æ‚¢‚¤Œ¾—t‚Í
Ruby‚ÉŠÖ‚µ‚ÄŒ¾‚¦‚΂ ‚Ü‚è—Ç‚¢Œ¾—t‚ł͂Ȃ¢‹C‚ª‚·‚é�B
0165ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Á‚Ä�ASmalltalk —R—ˆ�H
0166ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl>Java‚ÆŒ¾‚Á‚Ä‚¨‚«‚È‚ª‚牺‚Å‚Í
Java>Perl‚ɂȂÁ‚Ă܂·‚æ�B
0167ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0168ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWalrus‚ÌML‚Å’�•¶‚µ‚Ă݂½‚ç�H
0169ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0170ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGpr = IO.popen("w3m -dump http://chat.yahoo.co.jp/?myHome","r")
pr.each_line do |line|
# print if line =~ /Œ»�݂̎Q‰Á�l�”/
if (line =~ /Yahoo/){
if (line =~ /-/){
if (line =~ /:/){
}
}
}
end
pr.close
0171167
NGNG‚ð�ì‚낤‚Æ�A�ì‚Á‚Ă݂܂µ‚½‚ª¤
if•¶‚ÌŠî–{“I‚ÈŽg‚¢•û‚ª”»‚è‚Ü‚¹‚ñ�B
�ã‹L‚Ì‚à‚Ì‚ðŽÀ�s‚·‚ê‚΃Gƒ‰�[‚ª�o‚Ü‚·�B
‚ǂȂ½‚©¤ƒ}ƒ`ƒKƒC‚ðŽw“E‚µ‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©�B
0172ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0173167
NGNG‚±‚ñ‚Ç‚Íw3m‚̃NƒbƒL�[‚Ì�Ý’è‚ÅŽ¶‚ç‚ê‚Ü‚·�B
ˆÈ‰º‚̂悤‚Éeruby‚Æ‚µ‚ÄŽÀ�s‚³‚¹‚悤‚Æ‚µ‚Ä‚àƒNƒbƒL�[‚ª—LŒø‚É
‚È‚è‚Ü‚¹‚ñ�B
‚ǂȂ½‚©¤ƒ}ƒ`ƒKƒC‚ðŽw“E‚µ‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©�B
<%
pr = IO.popen("w3m -cookie /home/hishiura/.w3m/cookie�@-dump http://chat.yahoo.co.jp/?myHome","r")
pr.each_line do |line|
#�@print if line =~ /Œ»�݂̎Q‰Á�l�”/
�@if line =~ /Yahoo/
�@�@if line =~ /:/
�@�@�@print line
�@�@end
�@end
end
pr.close
%>
0174•H‰Y
NGNG‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�B
0175ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚ñ‚Ȃ̂ª�o‚Ä‚½�B
RubyInline
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/49766
http://sourceforge.net/projects/rubyinline/
0176ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚P“ú’†’£‚è•t‚¢‚Ä‚½‚ñ‚¾‚낤‚È‚Ÿ�`�AƒIƒ}ƒGƒ‚ƒi�[‚Æ‚©Œ¾‚¢‚È‚ª‚ç�@ÌßÌß
0177ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGline1
line2
line3
line4
line5
lien6
‚Á‚Ăȃf�[ƒ^�[‚É
1 line1
1 line2
2 line3
2 line4
3 line5
3 line6
‚Æ‚¢‚¤”Ô�†‚ð‚‚¯‚éƒ�ƒ“ƒ‰ƒCƒi�[‚Á‚Ä‚©‚¯‚Ü‚·‚©?
�‘‚¯‚é‚̂łµ‚½‚ç�B
0178ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0179ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ‚¢‚¤‚© extend ‚Á‚Ăǂ¤‚¢‚¤‚Æ‚«‚ÉŽg‚¤‚Ì�H
0180ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0181ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚̂܂ñ‚Ü Perl ‚Å‚à“®‚‚Ë�B
0182ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.ruby-lang.org/ja/ml.html
http://www.modruby.net/#label:13
>>173
-cookie -no-cookie ‚̓NƒbƒL�[‚ð—LŒø‚É‚·‚é‚©‚Ç‚¤‚©‚̃gƒOƒ‹ƒIƒvƒVƒ‡ƒ“‚¶‚á‚È‚¢‚Á‚¯�H
~/.w3m/config ‚É‚ ‚éƒNƒbƒL�[ŠÖ˜A‚Ì�ݒ肪“K�Ø‚©‚Ç‚¤‚©Šm‚©‚ß‚ê�B
‚»‚±‚Ì�Ý’è‚Í -o opt=value ‚Å‹N“®Žž‚ÉŽw’è‚Å‚«‚é�B
w3m ‚Ì“®�ì‚ɂ‚¢‚Ă͂±‚Á‚¿‚Å•·‚¢‚½‚Ù‚¤‚ª‚æ‚¢‚©‚à�B
w3m
http://pc.2ch.net/test/read.cgi/unix/1012484783/
>>181
one-liner ‚Í–³—�‚É Ruby ‚炵‚‚µ‚È‚¢‚Å perlish ‚Å‚à‚¢‚¢‚©‚È‚Æ�B
0185ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘Œê‚©‚È�B-ish ‚Å -‚Á‚Û‚¢
‘SŒ¾Œê‚̃y�[ƒW‚©‚çperlish‚ðŒŸ�õ‚µ‚Ü‚µ‚½�B –ñ6,550Œ�’†1 - 50Œ�–Ú �EŒŸ�õ‚É‚©‚©‚Á‚½ŽžŠÔ0.09•b
‘SŒ¾Œê‚̃y�[ƒW‚©‚çrubyish‚ðŒŸ�õ‚µ‚Ü‚µ‚½�B –ñ199Œ�’†1 - 39Œ�–Ú �EŒŸ�õ‚É‚©‚©‚Á‚½ŽžŠÔ0.09•b
0187ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGclassŽg‚¤‚킯‚É‚à�s‚©‚È‚¢‚µ�B
0188ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0189ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚̃XƒŒƒbƒh‚ð’Ç‚Á‚Ă݂Ä�B
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/29348?29176-29445
0190ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Â�[‚©�Apack/unpack‚Å‹l‚ß�ž‚Þ‚Ì‚ªŠÈ’P‚Á‚Û‚¢‚È�B
�³‚µ‚¢‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN‚ª‚Å‚«‚È‚¢‚Ì‚ª’v–½“I‚¾‚¯‚Ç�B
0191187
NGNGfunc=Win32API.new()‚Å‚â‚邯ˆø�”‚̃^ƒCƒv‚Å–â‘肪‚ł邿‚¤‚Å‚·�B
int,long,lpstr,voidˆÈŠO‚¾‚Æ‚¾‚߂݂½‚¢‚Å‚·‚Ë�B
StructƒNƒ‰ƒX‚©ArrayƒNƒ‰ƒX‚Æ‚µ‚Ä�\‘¢‘Ì‚ª—˜—p‚Å‚«‚é‚Ì‚©‚ÆŽv‚Á‚½‚̂ł·‚ª
Œ»�ó‚Ü‚¾‚ނ‚©‚µ‚¢‚悤‚Å‚·‚Ë�B
>190
pack/unpack‚Á‚ĂȂñ‚Å‚·‚©�H
0192ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒŸ�õ‚µ‚ë
0193187
NGNG‚µ‚ăoƒCƒiƒŠ�[‚ÅRuby‚Æ‚â‚èŽæ‚肹‚æ‚Æ‚¢‚¤‚±‚Ƃł·‚©�B
ƒIƒuƒWƒFƒNƒg‚̃VƒŠƒAƒ‰ƒCƒY‚̂悤‚É�B
�E�E�E�B“‚¢ƒeƒNƒjƒbƒN‚Å‚·‚Ë‚¥�B
0194ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0195ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG--
Ruby FAQ
5.5 private‚Æprotected‚̈Ⴂ‚ª•ª‚©‚è‚Ü‚¹‚ñ
private‚̈Ӗ¡‚Í�Aƒ�ƒ\ƒbƒh‚ðŠÖ�”Œ`Ž®‚Å‚¾‚¯ŒÄ‚Ñ�o‚¹‚邿‚¤‚É‚µ�AƒŒƒV�[ƒo�[Œ`Ž®‚ł͌ĂÑ�o‚¹‚È‚¢‚悤‚É‚·‚邯‚¢‚¤ˆÓ–¡‚Å‚·�B
--
‚±‚Ì�@ƒŒƒV�[ƒo�[Œ`Ž®‚Á‚Ä‚¢‚Á‚½‚¢‚È‚ñ‚Å‚·‚©�B
0196ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG•�’Ê‚É�AƒCƒ“ƒXƒ^ƒ“ƒX‚̃�ƒ\ƒbƒh‚ðŒÄ‚Ñ�o‚·‚Æ‚«‚Ì
ƒCƒ“ƒXƒ^ƒ“ƒX + '.' + ƒ�ƒ\ƒbƒh–¼
‚̂悤‚ÈŒ`Ž®�B—Ⴆ‚Î f.print ‚Ý‚½‚¢‚È�B
ƒIƒuƒWƒFƒNƒg(ƒCƒ“ƒXƒ^ƒ“ƒX)‚ɑ΂µ‚Ä�Aƒ�ƒ\ƒbƒh‚Æ‚¢‚¤–½—߂𑗂è‚‚¯‚邯‚¢‚¤ƒCƒ��[ƒW‚©‚ç
Žó‚¯Žæ‚é‚Ù‚¤‚ðƒŒƒV�[ƒo‚ÆŒ¾‚¤�B
0197ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGC‚Å�‘‚•K—v‚͂Ȃ¢�B
rubyist!‚ ‚½‚è‚©‚çWin3API‚ÅŒŸ�õ‚µ‚Ä‚Ý�B
0198ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ìput‚Á‚Ä�A1.6.7‚ɂ͓ü‚Á‚ĂȂ¢‚̂łµ‚傤‚©�E�E�E
0199ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0200ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¤‚¢‚¤ŒXŒü‚ª‹‚܂邯�uRuby‚ª‚·‚ׂÄ�ARubyˆÈŠO‚Í‘S•”ƒSƒ~�v‚Æ‚¢‚¤�uRuby‹³�MŽÒ�v‚Ì�«Ši‚ð
‘ттĂ‚邿‚¤‚¾�BƒRƒ“ƒsƒ…�[ƒ^ŠÖŒW‚Ì�‘�ЂƂ¢‚¦‚Î�ARuby‚Ì–{‚µ‚©“ǂ܂¸�Aƒlƒbƒg‚Å‚àRuby
ŠÖŒW‚̃jƒ…�[ƒX‚Í‚·‚é‚Ç‚ƒ`ƒFƒbƒN‚ð“ü‚ê‚Ă邪�A‚»‚Ì‘¼‚Ì�î•ñ‚ɂ͂܂Á‚½‚‹»–¡‚ðŽ¦‚³‚È‚¢�B
RubyˆÈŠO‚Ì�î•ñ‚©‚çŠu—£‚³‚ê‚Ä‚¢‚é�󋵂Ȃ̂¾�B
�@‚à‚¿‚ë‚ñ�ARuby‚Í�[•ª‚É–£—Í“I‚¾‚µ�A�uRuby‚ªŽg‚¦‚½‚ç‚»‚ê‚Å‚¢‚¢‚ñ‚¾�A‚¨‚ê‚Í�i‚킽‚µ‚Í�j�v‚Æ
‚ ‚È‚½‚ª�l‚¦‚Ä‚¢‚½‚Æ‚µ‚Ä‚à•sŽv‹c‚͂Ȃ¢�B‚¾‚¯‚Ç�A‹¶�M“I‚È�¢ŠE‚É“ü‚è�ž‚Ý�A‚Ü‚é‚ŃAƒ�ƒŠƒJ‚Ì
•ГcŽÉ‚Ì�V‹»�@‹³‚Ý‚½‚¢‚É�ÅŒã‚Í�W’cŽ©Œˆ�A‚Æ‚¢‚¤“¹‚ð‚½‚Ç‚ç‚È‚¢‚½‚߂ɂà�i�c�c�j�ARubyˆÈŠO‚Ì
�î•ñ‚É�g‚ð‚³‚ç‚·‚±‚Æ‚à‘½�‚Í•K—v‚ł͂Ȃ¢‚©‚ÆŽv‚¤‚Ì‚¾�B
ƒRƒ‰ƒ€�ERubyŠÖŒW�uˆä‚Ì’†‚ÌŠ^�v‚æ‚è
0201ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚Ì‚Ü‚Ü 1.7 ‚Ì ftp.rb ‚ª“®‚¢‚½‚肵‚È‚¢�H
“®‚¢‚Ä‚à•sŽv‹c‚͂Ȃ¢‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�B
0202ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGpack/unpack ‚Á‚Ä�Aruby‚̃�ƒ\ƒbƒh‚Å‚µ‚å�B
0203ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0204ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0205ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0206ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ç‚ñ‚Ç‚ñPerlƒXƒŒ‚ð�r‚ç‚»‚¤‚º�I
0207ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0208ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒƒ‚µ‚“¯ˆÓ�I
0209ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0210ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0211ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—lj݂ªˆ«‰Ý‚ð‹ì’€‚·‚é
0212ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0213ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl‚È‚ñ‚©‚à‚Æ‚à‚ÆŠá’†‚É‚ ‚è‚Ü‚¹‚ñ�B•³–ì˜Y
0214ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0215ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0216ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0217ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ñ‚È‚ÉPerl‚ðŽ€–Å‚³‚¹‚½‚¢‚È‚ç�A
�uPerl‚Á‚ÄŽ€–Å‚µ‚¿‚Ⴄ‚Ì�H�vƒXƒŒ‚Å‚à�ŸŽè‚É—§‚Ä‚Ä�A‚»‚±‚ÅŠ«‚¢‚Ä‚ë�B
0218ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0219ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘厊‹}‰Á�¨‹�‚Þ�I‚‚Ԃ¹�I
0220ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚Ü‚è‚Ђǂ¢‚悤‚È‚ç�í�œˆË—Š‚µ‚Ä‚‚¾‚³‚¢�B
0221ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ}ƒ^�[ƒŠ�i�s‚µ‚Ü‚µ‚傤‚æ�B
0222ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0223ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚ñ‚¾‚©�u–l‚Í”nނł·�v‚Á‚Ä�‘‚¢‚Ä‚ ‚é‚Ý‚½‚¢‚¾‚Ë�B
0224ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0225ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¿‚á‚ñ‚Æ‚µ‚½ Ruby ‚ɂ‚¢‚Ă̘b‚͂ł«‚ñ‚Ì‚©�B
‚±‚ê‚¶‚á�ARuby ƒ†�[ƒU�[‚͌ւè‚΂©‚è�‚‚‚Ä•³‚Á‚Ä‚¢‚í‚ê‚Ä‚à‚µ‚á�[‚È‚¢‚í‚È�B
ϼÞÚ½‚µ‚Ä‚µ‚à‚½�c�A�À‚Á‚Ä‚«‚Ü‚·�B
0226ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0227ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¾‚¢‚É‚ñ‚«�¨Œë•ÏŠ·�¨ƒoƒbƒNƒgƒ‰ƒbƒN�¨‚¨‚ƂȂ°
0228ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0229ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl‚ÆRuby‚̃†�[ƒU�[”N—î‘w‚ÌŠ„�‡‚𒲂ׂê‚Î�A
Perl‚Ì•û‚ª’á”N‘w‚ÌŠ„�‡‚ª‘½‚»‚¤‚¾‚È�B
‚±‚ñ‚ÈŠ´‚¶‚Å�A�A�A
�~–[or�H–[‚ªƒz�[ƒ€ƒy�[ƒW‚ð�ì‚é�¨CGI‚É’§�킵‚½‚‚È‚é
�¨CGI‚ÆŒ¾‚¦‚ÎPerl�i˜m�B‚Æ‚¢‚¤‚æ‚èPerlˆÈŠO‚ÅCGI‚ð‘g‚ß‚éŽI�‚È‚·‚¬�I
�¨Perl‚̕׋‚ð‚·‚é�¨–l‚àŽ„‚à�¡“ú‚©‚çPerler!
‚Å‚à�A”ނ炪�«—ˆ�A‚»‚ÌŒ¾Œê‚Ì’S‚¢Žè‚ɂȂÁ‚Ä‚¢‚‚±‚Æ‚ð�l‚¦‚邯�A
Ruby‚ÍŽáŽÒŠl“¾‚ÉŒü‚¯‚Ä‚à‚Á‚ÆŠæ’£‚é•K—v‚ª‚ ‚邯Žv‚¤‚̉´‚¾‚¯�H
0230ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0231ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽÀ‚ÍPerler‚Ì•û‚ª‘å�l‹C‚¾‚Æ‚¢‚¤ã©�B
dato omota-!
0232ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG”S’…Šî’nŠO‚Í Ruby ƒ†�[ƒU‚̂ӂ肵‚Ä Perl ‚ð�UŒ‚‚·‚邱‚ƂŠRuby ‚ª”½Š´‚ð‚©‚¤
‚悤‚ÉŽdŒü‚¯‚Ä‚¢‚Ü‚·�B‚Ü‚½Ž©�쎩‰‰‚Řb‚ð‘å‚«‚‚µ‚悤‚Æ‚µ‚Ä‚¢‚Ü‚·�B
‘ŠŽè‚ð‚µ‚È‚¢‚Å‚‚¾‚³‚¢�B
0233ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�F‚ñ‚ÈŒ¾Œê�G‚Á‚ÄŒ©‚½‚ç‚à‚Á‚Æ�¢ŠE‚ª�L‚ª‚é‚Ì‚É�B
ϼÞÚ½½Ï¿�B
0234ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚ �A‚â‚Á‚Ï‚èŠî’nŠOˆê�l‚Ì‚¹‚¢‚Å�A‚»‚ñ‚Ȉó�Û‚ð‚à‚½‚ê‚Ä‚é‚Ì‚©‚¢‚È�B
ŽÀ�ۂ̃†�[ƒU‚Í‚¢‚ë‚ñ‚ÈŒ¾Œê‚ð�G‚Á‚½‚肵�A�󋵂ɉž‚¶‚ÄŒ¾Œê‚ðŽg‚¢•ª‚¯‚Ä
‚¢‚é�l‚ª‘½‚¢�B‹t‚É Ruby ‚¾‚¯�A‚È‚ñ‚Ä�l‚Í�‚È‚¢‚ñ‚¶‚á‚È‚¢‚©�B
0235ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘¼Œ¾Œê‚ðŒy•̂Ȃñ‚©‚µ‚Ä‚¢‚È‚¢�B‚»‚¤Žv‚킹‚悤‚ÆŽdŒü‚¯‚Ä‚¢‚é”S’…‚ª‚¢‚邾‚¯�B
0236Ruby—ð5ŽžŠÔ
NGNG‚¦�[‚Æ�A‚ ‚éƒNƒ‰ƒX‚̃�ƒ\ƒbƒh‚ðoverride‚·‚邯‚«�A—Ⴆ‚Ήº‹L‚Å‚·‚ª�A
class Foo < File
def each_line(sep)
aProc = Proc.new
super(sep, &aProc)
end
end
‚Æ�A‚í‚´‚í‚´Proc.new‚µ‚È‚¢‚Å super(sep) ‚Æ�‘‚‚¾‚¯‚Å�ã‚Ƀuƒ�ƒbƒN‚Ü‚Å
‚à‚ª“n‚³‚ê‚é‚̂͂Ȃñ‚łł·‚©�H‚»‚¤‚¢‚¤‚à‚̂ł·‚©�H
ŽèŒ³‚É�uƒvƒ�ƒOƒ‰ƒ~ƒ“ƒORuby�v‚Æ�uƒIƒuƒWƒFƒNƒgŽwŒüƒXƒNƒŠƒvƒgŒ¾ŒêRuby�v‚ª
‚ ‚é‚ñ‚Å‚·‚ª�A�à–¾‚Á‚ĂǂÁ‚©‚É‚ ‚è‚Ü‚·‚©‚Ë‚¦�c�B
�¥”ñ‚¨‚µ‚¦‚Ä‚‚¾‚³‚¢‚Ü‚¹�B�B
0237ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGSmalltalk‚âLisp�D‚«‚à‘½‚¢‚æ�I
‚à‚¿‚ë‚ñ�APerl‚Í�æ”y‚¾‚µ�B
ŠÖ�”Œ^Œ¾Œê‚Í�D�D�D
0238Ruby—ð5ŽžŠÔ‚Ì236
NGNG0239Ruby—ð7ŽžŠÔ‚Ì236
NGNGŽ©•ª‚Å‘ã“ü‰‰ŽZŽq‚ð‚©‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢??
0240ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0241236
NGNG0242ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽÀ‚Í”l‚è�‡‚¢�ê—pƒXƒŒ‚¾‚Á‚½ã©
0243ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒNƒ‰ƒX–¼‚ªFuga,•Ï�”–¼‚ªhoge‚È‚çFuga.hoge=(var)‚ð�‘‚�B“ǂޕû‚̃AƒNƒZƒT‚à“K“–‚É�‘‚�B
>>240
“š‚¦‚é—D‚µ‚³‚ª‚È‚¢“z‚̓ˆƒ\‚ÌperlƒXƒŒ‚Å‚à�r‚炵‚Ä‚ê‚Î�H�i˜m
0244240
NGNG0245ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚ñ‚Å‚Á‚Ä
‚à‚Æ‚à‚Æƒuƒ�ƒbƒN‚͈ÖقɈø�”‚Æ‚µ‚Ä“n‚³‚ê‚é‚Ì‚¾‚©‚ç
‚»‚̂ق¤‚ªŽ©‘R‚¾‚ÆŽv‚¤‚¯‚Ç
0246ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¤‚¢‚¤‚à‚Ì�B
super‚¾‚¯‚łȂ�A‚ ‚éƒ�ƒ\ƒbƒh‚©‚ç•ʂ̃�ƒ\ƒbƒh‚ðŒÄ‚Ñ�o‚·‚Æ‚«‚Ƀuƒ�ƒbƒN‚͈ø‚«Œp‚ª‚ê‚é�B
0247240
NGNG’ዉŽÒ‚ðŠÃ‚â‚©‚·‚È
0248ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ‚¢‚¤‚±‚Æ‚Í�AƒNƒ‰ƒX•Ï�”‚É‚Í attr_accessor ‚ÍŽg‚¦‚È‚¢‚Á‚Ä‚±‚Ƃł·‚©�H
‚¢‚â�A•ʂɂقƂñ‚Ç•K—v‚È‚¢‚©‚ç‚¢‚¢‚¯‚Ç�B
0249ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0250ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽs‚Ë‚æƒJƒX�B
0251ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆø‚«Œp‚¬‚½‚‚È‚¢�ê�‡‚̓uƒ�ƒbƒN‚ð&ˆø�”‚Ŏ󂯂Ä�A•ʂ̃�ƒ\ƒbƒh‚ɂ͂»‚ê‚ð
“n‚³‚È‚¯‚ê‚΂¢‚¢‚ñ‚©‚Ë
0252ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆø‚«Œp‚¬‚½‚‚È‚¢�ê�‡‚Á‚Ăǂñ‚È�ê�‡�H
>>250
�r‚炵‚Í–³Ž‹‚µ‚ă}ƒ^�[ƒŠ‚¢‚«‚Ü‚µ‚傤�B
0253251
NGNG‚¢‚â�A˜R‚ê‚à�‰�S‚Ȃ̂Ō¾ŒêŽd—l‚ª’m‚肽‚©‚Á‚½‚̂ł·�BƒXƒ}ƒ\�B
0254ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒoƒO‚¶‚á‚È‚‚»‚¤‚¢‚¤Žd—l‚Å‚µ‚å�Btk ‚̃‰ƒCƒuƒ‰ƒŠŠÖŒW‚Å‘½—p‚³‚ê‚Ä‚¢‚½‚悤‚È
‹C‚à‚·‚é�B
0255ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGsuper‚Í‚Æ‚à‚©‚•�’ʂ̃�ƒ\ƒbƒhŒÄ‚Ñ�o‚µ‚ł͈ø‚«Œp‚ª‚ê‚È‚¢‚ñ‚¶‚á‚È‚¢‚Ì�H
0256ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0257ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Å�A240‚æ�c‚¨‘O‚͉½‚ª‚Å‚«‚é‚ñ‚¾�H�i˜m
0258240
NGNG0259ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0260ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0261236
NGNG‚Ç‚¤‚à‚ ‚肪‚Æ‚¤>>259,249 ‚»‚Ì‘¼‚Ì•û�B
0262ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0263246
NGNG‚·‚Ü‚ñ�A‚»‚¤‚¾‚Á‚½‚Ì‚Ë�B�¡‚͈ø‚«Œp‚ª‚ê‚é‚Ì‚Í super ‚̂Ƃ«‚¾‚¯‚©‚È�B
‚ ‚ƃuƒ�ƒbƒN‚ð“n‚³‚ꂽƒ�ƒ\ƒbƒh‚Ì’†‚Å�Aˆø�”‚È‚µ‚Å Proc.new ‚·‚邯�A
‚»‚̃uƒ�ƒbƒN‚ªŽg‚í‚ê‚é‚Ý‚½‚¢‚Ë�B
0264236
NGNG1.6.7‚É‚µ‚Ă݂܂µ‚½�Bsuper‚ɂ͓n‚邿‚¤‚ÉŒ©‚¦‚Ü‚·‚Ë�B—û�K‚Å�‘‚¢‚½‚ñ‚Å‚·‚ª
ˆÈ‰º‚ÅŒŸ�؂ł«‚Ă܂·‚©?
class Foo < File
def each_line(sep)
super(sep)
end
end
if __FILE__ == $0
a = Foo.new("/etc/passwd")
a.each_line(" ") do |l|
p l
end
end
0265ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—Ç‚¢‚ñ‚¶‚á‚È‚¢‚Å‚µ‚傤‚©�B
‚µ‚©‚µ ruby ‚ðŽg‚¢Žn‚ß‚½‚΂©‚è‚Å‚±‚±‚܂ŗ�‰ð‚Å‚«‚é‚̂͂·‚²‚¢‚È‚ �B
0266ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ý‚ñ‚È‚ÅPerlƒXƒŒƒbƒh‚ð�r‚ç‚»‚¤�I
0267ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�„ŒN‚̃Œƒxƒ‹‚ª’á‚¢‚¾‚¯�B
�„
�„‚Ý‚ñ‚È‚ÅPerlƒXƒŒƒbƒh‚ð�r‚ç‚»‚¤�I
‚±‚̃XƒŒ‚Å‚Í�AƒXƒŒ�r‚炵��ƒŒƒxƒ‹�‚‚¢‚Ì‚©�H
0268ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl‚È‚ñ‚©‚Ù‚Á‚Æ‚¢‚Ä‚à�Š‘Þ‚·‚é‚Ì‚É�B
Žã‚¢ŽÒ‚¢‚¶‚ß¶ºÜÙ²
0269ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0270ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0271ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆê‰žŽg‚¦‚é�B
class Hoge
class << self
attr_accessor :fuga
end
end
Hoge.fuga = "hoge"
p Hoge.fuga
0272ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŠ´“®‚µ‚½�I
0273271
NGNGƒNƒ‰ƒX•Ï�”‚ðŽg‚¢‚½‚¢�ê�‡‚Í�ã‚̃\�[ƒX‚Í‚¨‚©‚µ‚¢�B
�ã‚̃\�[ƒX‚̓Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX•Ï�”‚Ì�ê�‡�B
$ ruby -e '
class Hoge
class << self
attr_accessor :hoge
end
end
Hoge.hoge = "hoge"
p Hoge.hoge
Hoge.instance_eval{
p @hoge
p @@hoge
}'
"hoge"
"hoge"
-e:12: uninitialized class variable @@hoge in Object (NameError)
from -e:10:in `instance_eval'
from -e:10:in `instance_eval'
from -e:10
0274ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0275ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGclass Hoge
def Hoge.hero
"moemoe"
end
class <<self
alias :moe :hero
end
end
class <<Hoge
alias :nae :hero
end
puts Hoge.hero
puts Hoge.moe
puts Hoge.nae
‚â‚Á‚Ä‚¢‚邱‚Ƃ͓¯‚¶‚¾‚¯‚Ç�Aˆê‰ž“ñŽí—Þ�B
Hoge‚̃�ƒ^ƒNƒ‰ƒX‚Å�錾‚·‚ê‚΂¢‚¢‚Ì‚³�B
0276ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGnewobj = Marshal.load(Marshal.dump(obj))
0277ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�Ä‹A“I‚È dup ‚È‚ç instance_variables ‚â instance_eval ‚ȂǂÅ�‘‚¯‚é�B
‚µ‚©‚µ�A‚·‚ׂĂ̗v‹�‚ð–ž‚½‚·–œ”\‚È•û–@‚ÍŒ´—�“I‚É‘¶�Ý‚µ‚È‚¢�B—Ⴆ‚Î
class X; def initialize() @x = X end end; deepcopy(X.new)
‚ª @x ‚Ì’l‚ð dup ‚·‚ׂ«‚©‚Ç‚¤‚©‚Í–Ú“IŽŸ‘æ�B
Œ‹‹Ç�A–Ú“I‚É‚æ‚莩•ª‚ŃRƒs�[ƒ�ƒ\ƒbƒh‚ð�‘‚‚µ‚©‚È‚¢�B
0278ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚‚³‚¢�B‚‚³‚¢‚悱‚̃XƒŒ�ª
0279ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG@string = <STDIN>;
print @sting;
Ruby‚¾‚Ƃǂ¤�‘‚‚̂łµ‚傤‚©�H
0280ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGstring = STDIN.readlines
print string
0281ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚肪‚Æ‚¤�B
self‚ª‚Ç‚±‚ʼn½‚ɂȂÁ‚Ä‚¢‚é‚©�A‚¢‚Ü‚¢‚¿”cˆ¬‚Å‚«‚ĂȂ¢‚ȘR‚ê
0282ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGirb ‚Å self ‚ƑłÁ‚Ă݂ê‚Εª‚©‚é�B
2�s–Ú‚Ì print ‚Í main ‚Ì private method�B
private method ‚̓ŒƒV�[ƒo‚ð�È—ª‚µ‚½Œ`‚Å‚µ‚©‹L�q‚Å‚«‚È‚¢‚Ì‚Å�A
‚ ‚½‚©‚àŠÖ�”ŒÄ‚Ñ�o‚µ‚̂悤‚ɂȂé�B
ƒNƒ‰ƒX’è‹`‚Ì•¶–¬‚ł̓Nƒ‰ƒX‚ª self�B
>>275 Ž�‚̂œñŽí—Þ‚ª“¯‚¶“‚«‚ð‚·‚é‚Ì‚ðŒ©‚ê‚Εª‚©‚邯Žv‚¤�B
ƒ�ƒ\ƒbƒh’è‹`‚Ì•¶–¬‚ł̓Cƒ“ƒXƒ^ƒ“ƒX‚ª self�B
0283279
NGNGThanks
0284ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ƒNƒ‰ƒX’è‹`‚Ì•¶–¬‚ł̓Nƒ‰ƒX‚ª self�B
> >>275 Ž�‚̂œñŽí—Þ‚ª“¯‚¶“‚«‚ð‚·‚é‚Ì‚ðŒ©‚ê‚Εª‚©‚邯Žv‚¤�B
‚¿‚å‚Á‚ƈႤ�B275 ‚Í“ÁˆÙƒNƒ‰ƒX’è‹`‚Ȃ̂Šalias ‚µ‚Ă邯‚±‚ë‚Ì
self ‚Í“ÁˆÙƒNƒ‰ƒX�B‚Ü‚½ alias ‚Í•¶–@—v‘f‚Å‚ ‚Á‚ă�ƒ\ƒbƒh‚ł͂Ȃ¢‚½‚ß�A
self ‚Ƃ̊֘A‚ÍŠÔ�Ú“I�B‚à‚Á‚Æ‚à 281 ‚É‚Í�±�ׂȈႢ‚©‚à�B
0285ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰½‚©ƒ\ƒtƒg‚ð�ì‚Á‚Ä‚¢‚é�l‚Á‚Ä‚¢‚Ü‚·‚©�H
‚¢‚½‚ç�A‹³‚¦‚ê¡
‚Ç‚±‚Å•·‚¢‚½‚ç‚¢‚¢‚Ì‚â‚ç¡
0286ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0287ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ‚Ç‚±‚Å•·‚¢‚½‚ç‚¢‚¢‚Ì‚â‚ç¡
Ruby/Google ‚ð’m‚Á‚Ä‚é�l‚Í“ú–{�l‚Å‚à ruby-talk ‚ð“Ç‚ñ‚Å‚»‚¤‚¾‚µ
‚±‚±‚æ‚è‚Í ruby-talk ‚Å•·‚‚Ì‚ª‚悳‚°
0288‚ق肯‚ñ
NGNG%ls ~/map-data
tokyo/ tiba/ totigi/ fukushima/
%ls ~/map-data/tokyo/
20020920.map 20020921.map
20020922.map 20020923.map
20020924.map 20020925.map
‚̂悤‚ÉŠK‘w‰»‚³‚ꂽ‹C�Ûƒf�[ƒ^�iTab‹æ�Ø‚èCSVƒtƒ@ƒCƒ‹�j‚ª‚ ‚è‚Ü‚·¡
—Ⴆ‚Î
tokyo/ ‚Æ fukushima/ ƒtƒHƒ‹ƒ_“à‚Ì
20020923.map ‚¾‚¯‚ðŽæ‚è�o‚µ�A
�u43�s–Ú‚Ì8—ñ�`10—ñ�v‚Æ
�u44�s–Ú‚Ì8—ñ�`10—ñ�v‚̃f�[ƒ^‚ð
’nˆæ�@�@�@�@�@43�s�@�@�@�@44�s
tokyo�@�@�@�@12�@11�@88�@12�@10�@90�@
fukushima �@ 15�@ 9�@70�@13�@10�@78�@
‚̂悤‚ÉTab‹æ�Ø‚è‚Å�o—Í‚µ‚½‚¢‚Å‚·¡
�æ”y‚ÉŽ¿–â‚·‚邯�Aawk‚ÆPerl‚Å‚â‚ê‚΂ł«‚邿�A‚Æ
Œ¾‚í‚ê‚Ü‚µ‚½‚ª�Aruby‚łǂ¤‚É‚©‚È‚ç‚È‚¢‚à‚ñ‚Å‚µ‚傤‚©¡
‚Ú‚‚Íawk‚ÆPerl‚àruby‚à“¯’ö“x‚É�u’჌ƒxƒ‹�v‚Ȃ̂ł·¡
0289ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚ł͂æ‚莩‘R‚ɉ‰ŽZŽqƒ�ƒ\ƒbƒh‚ª’è‹`‚Å‚«‚é�B—á:
def +(x)
self.to_i + x
end
‚Æ‚ ‚è‚Ü‚·‚ª�A
perl‚Ì.= ‚Ȃǂà
Ž©•ªŒÂ�l‚ÅŽg—p‚·‚邽‚ß‚É
Ž©•ª‚Å’è‹`‚µ‚ÄŽg‚¦‚é‚̂łµ‚傤‚©�H
0290ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGuse overload '+' => \&addFoo;
sub addFor {
#�ˆ—�“à—e
}
0291ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdef pick(locate, time, rows, columns)
locate.each do |where|
fn = File.expand_path("~/map-data/#{where}/#{time}.map")
data = open(fn).readlines.map{|line| line.split("\t")}[*rows]
value = data.map{|r| r[columns].map{|c| "%4s" % c}.join}.join
print locate, "\t", value, "\n"
end
end
pick(["tokyo", "fukushima"], "20020923", 43..44, 8..10)
�” –¢ƒeƒXƒg
0292ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> �iTab‹æ�Ø‚èCSVƒtƒ@ƒCƒ‹�j
ѼްÝ
0293ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Å‚«‚Ü‚¹‚ñ¡ruby‚ðŽg‚¦‚΂ł«‚邯•·‚¢‚½‚̂ł·‚ª�A
‚Ç‚¤‚â‚Á‚Ä‚â‚é‚̂łµ‚傤‚©¡osiete¡
0294ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰½‚µ‚½‚¢‚©‚É‚æ‚邯Žv‚¤‚ª�Aƒ\�[ƒX‚Éutf-8‚ð–„‚ß�ž‚ñ‚¾‚è�³‹K•\Œ»‚ňµ‚¢‚½‚¢
‚¾‚¯‚È‚ç $KCODE='u' ‚Æ‚·‚邾‚¯�B
ƒR�[ƒh•ÏŠ·‚µ‚½‚¢‚È‚ç
http://www.ruby-lang.org/en/raa-list.rhtml?name=Uconv
0295ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0296‚ق肯‚ñ
NGNG>>‚Q‚X‚P�@�@—L“‚²‚´‚¢‚Ü‚·�B
print locate, "\t", value, "\n"
�@�@�@�@�«
printf("%10s %10s\n",where,value)
‚É•Ï�X‚·‚ê‚Î�A‚¤‚Ü‚“®�삵‚Ü‚µ‚½�B
ŽÀ‚Í�A‚±‚Ì�@20020920.map 20020921.map �c�c‚Æ‚¢‚¤‚̂͂Ƃ ‚éƒvƒ�ƒOƒ‰ƒ€‚Ì
�o—̓f�[ƒ^‚Ȃ̂ł·‚ª�AŒŸŽZ‚â�¸“x”äŠr‚Ì‚½‚ß‘¼‚̃Aƒ‹ƒSƒŠƒYƒ€‚ÅŒvŽZ‚³‚¹‚½
�o—̓f�[ƒ^‚à“¯Žž‚Ɉꗗ�o—͂ł«‚ê‚΂Æ�l‚¦‚Ä‚¢‚Ü‚·�B
~/prog1nd/map-data/�@�@~/prog2nd/map-data/
ˆÈ‰º‚É‚»‚ꂼ‚ê“f‚«�o‚³‚ꂽ[“ú•t].map ƒtƒ@ƒCƒ‹‚ð
20020923�F
’nˆæ�@�@�@�@�@�@�@�@�@�@�@43�s�@�@�@�@ 44�s
--------------------------------------------------------------------------------------------------------
tokyo(prog1nd�j�@�@�@�@12�@11�@88�@12�@10�@90�@
tokyo(prog2nd�j�@�@�@�@12�@11�@88�@12�@10�@90�@
fukushima(prog1nd�j �@ 15�@ 9�@70�@13�@10�@78�@
fukushima(prog2nd�j �@ 15�@ 9�@70�@13�@10�@78�@
0297‚ق肯‚ñ
NGNGdef pick(version, locate, time, rows, columns)
�@�@version.each do |vnum|
�@�@�@�@locate.each do |where|
�@�@�@�@�@�@fn = File.expand_path("./#{vnum}/#{where}/#{time}.map")
�@�@�@�@�@�@data = open(fn).readlines.map{|line| line.split("\t")}[*rows]
�@�@�@�@�@�@value = data.map{|r| r[columns].map{|c| "%4s" % c}.join}.join
�@�@�@�@�@�@printf("%10s�@�@ %10s\n",where,value)
�@�@�@�@end
�@�@end
end
�@�@pick(["prog1nd", "prog2nd"], ["tokyo", "fukushima"], "20020923", 43..44, 8..10)
‚݂̂½‚¢‚É‚·‚邯‚·‚ê‚Î�Aprintf("%10s\(%s\)\t\t\t%10s\n", where, vnum, value) �@‚ł‚܂¸‚«‚Ü‚·�B
‚ǂȂ½‚©‰½‚©‚æ‚¢ƒAƒhƒoƒCƒX‚͂Ȃ¢‚Å‚µ‚傤‚©�B
0298ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdata = ‚Ì––”ö‚Ì [*rows] ‚Í [rows] ‚¶‚á‚È‚¢‚ƃ}ƒY‚»‚¤
�o—Í‚ðŒ©‚È‚¢‚ƃf�[ƒ^‚ªŽèŒ³‚ɂȂ¢‚©‚çƒfƒoƒO‚ª–Ê“|
�o—͂ł«‚é‚È‚ç�Aprintf() ‚Ì‘ã‚í‚è‚É p sprintf() ‚É‚µ‚½‚à‚̃Lƒ{ƒ“
0299ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGunicode‘Ήž‚Ìnkf�o‚Ă邿�B
0300ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdef pick(version, locate, time, rows, columns)
version.each do |vnum|
locate.each do |where|
fn = File.expand_path("./#{vnum}/#{where}/#{time}.map")
data = open(fn).readlines.map{|line| line.split("\s")}[*rows]
value = data.map{|r| r[columns].map{|c| "%4s" % c}.join}.join
printf("%10s\(%s\)\t\t\t%10s\n", where, vnum, value)
#p sprintf("%10s\(%s\)\t\t\t%10s\n", where, vnum, value)
end
end
end
pick(["prog1nd", "prog2nd"], ["tokyo", "fukushima"], "20020926", 42..43, 2..3)
‚Í
tokyo(prog1nd) 1274327 1304430 1334534
fukushima(prog1nd) 1288107 1318300 1348493
tokyo(prog2nd) 1274327 1304430 1334533
fukushima(prog2nd) 1288107 1318300 1348493
‚Å‚·�B
0301ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRed[53118]% tail prog1nd/tokyo/20020926.map�@prog1nd/fukushima/20020926.map
==> prog1nd/tokyo/20020926.map <==
36�@�@�@388�@�@ 106�@�@ 3606
37�@�@�@399�@�@ 109�@�@ 3709
38�@�@�@410�@�@ 112�@�@ 3812
39�@�@�@421�@�@ 115�@�@ 3915
40�@�@�@432�@�@ 118�@�@ 4018
41�@�@�@443�@�@ 121�@�@ 4121
42�@�@�@454�@�@ 124�@�@ 4224
43�@�@�@465�@�@ 127�@�@ 4327
44�@�@�@476�@�@ 130�@�@ 4430
45�@�@�@487�@�@ 133�@�@ 4534
==> prog1nd/fukushima/20020926.map <==
36�@�@�@596�@�@ 107�@�@ 6756
37�@�@�@613�@�@ 110�@�@ 6949
38�@�@�@630�@�@ 113�@�@ 7142
39�@�@�@647�@�@ 116�@�@ 7335
40�@�@�@664�@�@ 119�@�@ 7528
41�@�@�@681�@�@ 122�@�@ 7721
‚¾‚Æ‚µ‚Ä�A
p sprintf ‚Ì�o—Í‚Í
------------------------------------
" tokyo(prog1nd)\t\t\t 1274327 1304430 1334534\n"
" fukushima(prog1nd)\t\t\t 1288107 1318300 1348493\n"
" tokyo(prog2nd)\t\t\t 1274327 1304430 1334533\n"
" fukushima(prog2nd)\t\t\t 1288107 1318300 1348493\n"
------------------------------------
‚ƂȂè‚Ü‚·�B
0302‚ق肯‚ñ
NGNGpick(["prog1nd", "prog2nd"], ["tokyo", "fukushima"], "20020926", 42..43, 2..3)
‚̂悤‚É�A 42..43, 2..3) •Ï�X‚µ‚Ü‚µ‚½�B
�@�@�@�@�@�@�@�@�@^^^^^^
printf‚¾‚Æ�AƒŒƒR�[ƒh’l‚ª“ñ‚‚ЂÁ‚‚¢‚Ä�o—Í‚³‚ê‚Ü‚·�B
-------------------------------------------------------
tokyo(prog1nd) 1274327 1304430 1334534
fukushima(prog1nd) 1288107 1318300 1348493
tokyo(prog2nd) 1274327 1304430 1334533
fukushima(prog2nd) 1288107 1318300 1348493
0303‚ق肯‚ñ
NGNGRed[53118]% tail prog1nd/tokyo/20020926.map�@prog1nd/fukushima/20020926.map
==> prog1nd/tokyo/20020926.map <==
36�@�@�@388�@�@ 106�@�@ 3606
37�@�@�@399�@�@ 109�@�@ 3709
38�@�@�@410�@�@ 112�@�@ 3812
39�@�@�@421�@�@ 115�@�@ 3915
40�@�@�@432�@�@ 118�@�@ 4018
41�@�@�@443�@�@ 121�@�@ 4121
42�@�@�@454�@�@ 124�@�@ 4224
43�@�@�@465�@�@ 127�@�@ 4327
44�@�@�@476�@�@ 130�@�@ 4430
45�@�@�@487�@�@ 133�@�@ 4534
==> prog1nd/fukushima/20020926.map <==
36�@�@�@596�@�@ 107�@�@ 6756
37�@�@�@613�@�@ 110�@�@ 6949
38�@�@�@630�@�@ 113�@�@ 7142
39�@�@�@647�@�@ 116�@�@ 7335
40�@�@�@664�@�@ 119�@�@ 7528
41�@�@�@681�@�@ 122�@�@ 7721
42�@�@�@698�@�@ 125�@�@ 7914
43�@�@�@715�@�@ 128�@�@ 8107
44�@�@�@732�@�@ 131�@�@ 8300
45�@�@�@749�@�@ 134�@�@ 8493
0304ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG"%4s"%c ‚µ‚½‚Ì‚ð join ‚µ‚Ă邩‚ç‚Ë�@‚»‚̕ӓK“–‚ɕς¦‚邵‚©
"%8s"%c ‚É‚·‚邯‚© join(" ") ‚É‚·‚邯‚©‚ ‚é‚¢‚Í‚¢‚Á‚»�«‚±‚ñ‚È‚ñ‚Æ‚©
ƒ}ƒjƒ…ƒAƒ‹‚݂Ȃª‚ç‚¢‚ë‚¢‚ë‚â‚Á‚Ă݂é‚ׂµ
data = open(fn).readlines.map{|line| line.split("\s")}[rows]
value = data.flatten.join("\t")
0305‚ق肯‚ñ
NGNG‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�BŠæ’£‚Á‚Ă݂܂·�B
0306ƒTƒQƒ}ƒNƒŠ
NGNGesehttpd‚Å“®‚©‚µ‚Ă݂½‚¢‚ñ‚Å‚·‚ª�B
0307ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGIE‚ª•ʂ̃y�[ƒW‚É”ò‚΂Ȃ¢‚悤‚É‚µ‚½‚¢‚̂ł·‚ª�ADWebBrowserEvent‚Ì
BeforeUpdate‚Å‚¤‚Ü‚ƒLƒƒƒ“ƒZƒ‹‚Å‚«‚Ü‚¹‚ñ�B
ŽQ�Æ“n‚µˆø�”‚ÌCancel‚ðtrue‚É‚µ‚ĕԂ·‚ɂ͂ǂ¤‚·‚é‚̂łµ‚傤‚©�H
‚Ç‚¤‚â‚çRuby‚Ìfalse‚ð’l“n‚µ‚³‚ê‚Ä‚¢‚Ä�A•Ï�X‚Å‚«‚Ä‚¢‚È‚¢‹C‚ª‚µ‚Ü‚·�B
‘ãˆÄ‚Æ‚µ‚ÄHTMLFormElementEvents‚Ìonsubmit‚ðŽg‚¤‚±‚Æ�l‚¦‚½‚̂ł·‚ª�A
–ß‚è’l‚ÉVariant_Bool‚ð•Ô‚·•û–@‚ª•ª‚©‚è‚Ü‚¹‚ñ�B
ŽŽ‚µ‚ÉRuby‚Ìtrue,false‚ð•Ô‚µ‚Ä‚à‚Ý‚½‚à‚Ì‚Ì�A‚â‚Í‚è‘Ê–Ú‚Å‚µ‚½�B
ŠÂ‹«‚ÍWindowsXP‚ÉIE6.0‚Å‚·�B
‚ǂȂ½‚©•ª‚©‚é•û‚ª‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚µ‚½‚炲‹³Žö‚‚¾‚³‚¢�B
0308ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�ìŽÒ‚ÌŒfަ”‚ŕ·‚¢‚½•û‚ª‘�‚¢‚©‚à
ttp://hpmboard1.nifty.com/cgi-bin/bbs_by_date.cgi?user_id=CQN02273
0309ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>>308‚ª�‘‚¢‚Ä‚éƒy�[ƒW‚Ì2ŒŽ‚ ‚½‚è‚É�A‚»‚ÌŒ�‚ɂ‚¢‚Ă̂â‚èŽæ‚肪‚ ‚邿�B
‚Ç‚¤‚àƒnƒbƒVƒ…‚ŕԂ·‚Ý‚½‚¢‚¾�B
0310ruby/GoogleAPI
NGNG‰½‚©ƒ\ƒtƒg‚ð�ì‚Á‚Ä‚¢‚é�l‚Á‚Ä‚¢‚Ü‚·‚©�H
‚¢‚½‚ç�A‹³‚¦‚ê¡
‚Ç‚±‚Å•·‚¢‚½‚ç‚¢‚¢‚Ì‚â‚ç¡
0311perl�~–[
NGNGsub color_font {
my $color = shift;
return "<FONT COLOR='$color'>@_</FONT>";
}
‚Æ’è‹`‚µ‚Ä�A
sub red { color_font("red", @_) }
sub green { color_font("green", @_) }
sub blue { color_font("blue", @_) }
sub purple { color_font("purple", @_) }
‚ƌĂÑ�o‚·‚͖̂ʓ|‚Ȃ̂Å�A
@colors = qw(red blue green yellow orange purple violet);
for my $name (@colors) {
no strict 'refs';
*$name = sub { "<FONT COLOR='$name'>@_</FONT>" };
}
‚Æ‚·‚é•û–@‚ª‚ç‚‚¾–{‚R”łɂ ‚è‚Ü‚µ‚½‚ª�A
ruby‚¾‚Æ�AŠÖ�”‚ð�¶�¬‚µ‚ĂȂª‚çŽÀ�s‚·‚éƒR�[ƒh‚Á‚Ăǂ̂悤‚ȃTƒ“ƒvƒ‹‚ª
‚ ‚è‚Ü‚·‚©�H‚È‚ñ‚©‚¢‚¢—á‚È‚¢‚©‚È�B’T‚µ‚Ă܂·�B
0312Perl‚Í‚ ‚Ü‚è’m‚ç‚È‚¢�~–[
NGNGRuby‚Å‚©‚‚Æ�A
def color_font(color,str)
"<FONT COLOR='#{color}'>#{str}</FONT>"
end
def red(str); color_font("red", str) end
def green(str); color_font("green", str) end
def blue(str); color_font("blue", str) end
def purple(str); color_font("purple", str) end
‚ð
colors = %w(red blue green yellow orange purple violet)
colors.each do |name|
eval(<<-END)
def #{name}(str)
"<FONT COLOR='#{name}'>\#{str}</FONT>"
end
END
end
‚Æ�‘‚‚±‚Æ‚©‚È�H
‚±‚Ì•û–@‚Í�Acgi.rb‚ʼn´‚ÍŒ©‚‚¯‚½�B
0313ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG% ruby �y‚±‚±‚©‚ç•W�€“ü—͂ɓü‚é�B�z
require "cgi"
�@�@cgi = CGI.new("html3")�@�@# add HTML generation methods
�@�@cgi.out {
�@�@�@�@CGI.pretty (
�@�@�@�@cgi.form {
�@�@�@�@�@�@cgi.hidden{} +
�@�@�@�@�@�@cgi.text_field{} +
�@�@�@�@�@�@cgi.submit{}
�@�@�@�@}
�@�@�@�@)
�@�@}
�yCtrl-D�z
‚Æ‚µ‚ÄCGI‚Ì�—Œ^‚ð�ì‚Á‚Ä‚©‚ç�AƒGƒfƒBƒ^�[‚ð—§‚¿�ã‚°‚邱‚Æ‚ª‘½‚¢‚̂ł·‚ª�A
�Å�‰‚Ì4�s‚Á‚Ä‚¢‚‚àŒÅ’è‚Ȃ̂Å�A‚à‚Á‚Æ’Z‚‚·‚é•û–@‚Á‚Ăǂ̂悤‚È•û–@‚ª
“K‚µ‚Ä‚¢‚Ü‚·‚©�H�‰�SŽÒ‚Ȃ̂Å�AƒNƒ‰ƒX‚ð�ì‚é‚ׂ«‚©�A‚ ‚é‚¢‚Í
ƒ�ƒ\ƒbƒh‚ð�ì‚é‚ׂ«‚©‚Ì”»’f‚ª�o—ˆ‚Ü‚¹‚ñ‚Å‚µ‚½‚Ì‚Å�A
Ž¿–₵‚Ü‚µ‚½�B
ƒNƒ‰ƒX‚©�H‚»‚ê‚Æ‚àƒ�ƒ\ƒbƒh‚©�H
’Z‚�‘‚¯‚é•û–@‚ª’m‚肽‚¢‚Á‚·�B
0314ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚¤‚·‚邯 eval ‚ðŽg‚í‚È‚‚Ä�ςނ̂Š$SAFE == 3 ‚Å‚àŽg‚¦‚½‚è
cgi‚ÅŽg‚¤‚È‚çxss‚ð�l—¶‚µ‚Ä x.tainted? ‚ÌŒŸ�¸‚à‚µ‚½•û‚ª‚¢‚¢‚©‚à
‚Å‚à“®“I’è‹`‚Á‚Ärdoc‚Æ‚©‚Æ‘Š�«ˆ«‚¢‚µ‚ ‚ñ‚Ü�D‚«‚‚È‚¢
class Object
colors = %w(red blue green yellow orange purple violet)
colors.each do |name|
define_method(name){|x| %Q(<FONT COLOR="#{name}">#{x}</FONT>)}
private name
end
end
0315ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¤‚¢‚¤ƒtƒ@ƒCƒ‹‚ð“f‚ƒGƒCƒŠƒAƒX‚Æ‚©ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ð�ì‚Á‚Æ‚‚Æ‚©�A
‚»‚Ì�ó‘ԂŃXƒ^�[ƒg‚·‚éƒGƒfƒBƒ^‚̃}ƒNƒ�‚ð’è‹`‚µ‚Æ‚‚̂͂ǂ¤�H
ƒGƒfƒBƒ^ƒ}ƒNƒ�‚È‚çƒJ�[ƒ\ƒ‹‚̈ʒu‚܂Ŏw’è‚Å‚«‚邵�B
‚ǂꂾ‚¯•p”ɂɂâ‚é‚©‚Ì–â‘è‚©‚à�B
ƒ‰ƒCƒuƒ‰ƒŠ‰»‚·‚é‚̂͊Ǘ�‚·‚é‚à‚Ì‚ª‘�‚¦‚Ä–Ê“|‚È‹C‚ª‚¿‚å‚Ñ‚Á‚Æ‚·‚é�B
0316ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Â�[‚©Ruby“à‚Å‰ðŒˆ‚Å‚«‚È‚¢‚Ì‚©yo!
0317ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGProc‚ðŽg‚¤‚̂̓_ƒ�‚È‚Ì�H
0318ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG•Ê‚Éruby‚¾‚¯‚Å‰ðŒˆ‚µ‚È‚‚Ä‚à‚¢‚¢‚¾‚ë�B
‚±‚¤‚¢‚¤‚Ì—pˆÓ‚µ‚Ä�Acgi.rb ‚Ì‘ã‚í‚è‚É require ‚µ‚Ä‚à‚¢‚¢‚¯‚Ç�A
cgi ‚È‚¾‚¯‚ɃCƒ“ƒXƒg�[ƒ‹�æ‚Æ‚©”Y‚Þ‚±‚Æ‚à‚ ‚邾‚ë‚Á‚Ä‚±‚Æ�B
require "cgi"
require "delegate"
def cgi(lv = "html3")
obj = SimpleDelegator.new(CGI.new(lv))
class <<obj
alias __out out
def out(*a) __out(*a){CGI.pretty(html{yield})} end
end
obj
end
0319ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆø�”‚ð () ‚łȂ‚Ä call() ‚© [] ‚Å“n‚·•K—v‚ª‚ ‚é‚Ì‚Í‚Æ‚à‚©‚‚Æ‚µ‚Ä
ƒXƒR�[ƒv‚ð‰z‚¦‚é‚ɂ͒è�”‚©ƒOƒ��[ƒoƒ‹•Ï�”‚É‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Æ‚©
0320ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—L“‚²‚´‚¢‚Ü‚µ‚½�BŒ»�ó‚Å‚Í�AƒGƒfƒBƒ^‚̃}ƒNƒ�‚æ‚è‚à
zsh% </var/www/html/ruby/my-skel-form.rb�@�@�@�@�@�@�@�@�@�@�@
require "cgi"
require "delegate"
def cgi(lv = "html3")
�@obj = SimpleDelegator.new(CGI.new(lv))
�@class <<obj
�@�@alias __out out
�@�@def out(*a) __out(*a){CGI.pretty(html{head{cgi.title{'myform'}}+body{form('GET'){yield}}})} end
�@end
�@obj
end
‚Æ‚µ‚Ä�A
ruby -r/var/www/html/ruby/my-skel-form.rb -e 'puts cgi.out(){ cgi.text_field('q'){} + cgi.submit('ok'){} }'
‚Ý‚½‚¢‚É‚·‚é‚Ì‚ªˆê”Ô‚¢‚¢‚ÆŠ´‚¶‚Ă܂·�B
‚±‚Ì•û–@‚¾‚Æ�A‚à‚¤�‚µ�H•v‚µ‚Ä‚¿‚å‚Á‚Æ‚µ‚½javascript‚Ȃǖ„‚ß�ž‚ñ‚Å‚àŽx�á‚È‚µ�A
‚Å‚©‚È‚èŽg‚¦‚»‚¤‚Å‚·�B
‚¾‚¯‚Ç�A‚±‚Ì�ê�‡�A“Á‚É out‚Á‚Ä–¼‘O‚ð‚í‚´‚í‚´Žg‚¤ƒ�ƒŠƒbƒg‚Á‚ĉ½‚©‚ ‚é‚̂łµ‚傤‚©�H
def myout(*a) __out( �` ‚Æ‘å�·‚È‚¢‚悤‚È�c�c
0321320
NGNGrequire "delegate"
def cgi(lv = "html3")
�@obj = SimpleDelegator.new(CGI.new(lv))
�@class <<obj
�@�@alias __out out
�@�@def out(*a) __out(*a){
�@�@�@CGI.pretty(
�@�@�@html{
�@�@�@�@head{
�@�@�@�@�@cgi.title{'myform'} + cgi.script('language' =>'JavaScript'){
�@�@�@�@�@�@'document.write();'�@�@# ƒRƒR‚ÉJavascript‚ð–„‚ß�ž‚Þ‚½‚ß‚Éyield ‚ðŽg‚¢‚½‚¢�B
�@�@�@�@�@�@} } +
�@�@�@�@body{ form('GET'){yield}
�@�@�@�@} } ) }
�@�@end
�@end
�@obj
end
�ã‚Ì’è‹`‚Å�Acgi.script ‚̃uƒ�ƒbƒN “à ‚Å‚àyield�@‚Å’è‹`‚µ‚½‚¢‚̂ł·‚ª�A
form(){yield} ‚ÅŠù‚ÉŽg‚í‚ê‚Ä‚¢‚邽‚ß‚É�A‘¼‚Ì‰ðŒˆ–@‚ªŽv‚¢‚‚«‚Ü‚¹‚ñ�B
‚±‚ê‚ł͑S‚‹³‚¦‚ÄŒN‚Å‚·‚ª�c�c
0322ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚Í–{“–‚ÉŠy‚Ȃ̂©‚Æ�¬ˆêŽžŠÔ
—á‚ðˆê‰žŽ¦‚µ‚Æ‚‚¯‚ǃ}ƒNƒ�‚ª—~‚µ‚¢‚È‚çm4‚Å‚àŽg‚¦‚Æ‚¢‚¢‚½‚¢
% cat foo.rb
require "cgi"
require "delegate"
@@mycgi = nil
def cgi(lv = "html3")
return @@mycgi if @@mycgi
obj = SimpleDelegator.new(CGI.new(lv))
class <<obj
attr_accessor :js
def main(*a)
content = html{
head{ title{'myform'} + script('language' =>'JavaScript'){js} } +\
body{ form('GET'){yield} }
}
out(*a){ CGI.pretty(content) }
end
end
@@mycgi = obj
end
% ruby -r foo -e 'cgi.js="document.write();" ; cgi.main{cgi.p{"hello"}}'
0323ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGrequire 'amrita/template'
include Amrita
t = TemplateText.new <<END
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>myform</TITLE>
<SCRIPT language="JavaScript" id=js></SCRIPT>
</HEAD>
<BODY>
<FORM id=form METHOD="GET" ENCTYPE="application/x-www-form-urlencoded"></FORM>
</BODY>
</HTML>
END
t.expand(STDOUT, { :js=>"document.write();", :form=>noescape { "<p>hello</p>"} })
0324320
NGNGm4‚âamrita‚à‚µ‚΂炎g‚Á‚Ă݂܂·�B
0325ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl‚ÅRuby‚ªŽg‚¦‚é‚È‚ñ‚Ä�I
‚±‚ê‚ÅPerl‚ÆRuby‚Ì‚¢‚ª‚Ý�‡‚¢‚à‰ð�Á‚Á‚Ä‚±‚Æ‚Å�B
http://search.cpan.org/author/NEILW/Inline-Ruby-0.02/lib/Inline/Ruby.pod
0326ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¨�A‚±‚ê‚¢‚¢‚Ë�B
0327ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG% cat ~/.irbrc
require "irb-history"
require "irb/completion"
% irb
/usr/lib/ruby/1.6/irb/completion.rb:187: undefined method `completion_append_character=' for Readline:Module (NameError)
from /home/hishiura/.irbrc:2:in `require'
from /home/hishiura/.irbrc:2
from /usr/lib/ruby/1.6/irb/init.rb:198:in `load'
from /usr/lib/ruby/1.6/irb/init.rb:198:in `run_config'
from /usr/lib/ruby/1.6/irb/init.rb:196:in `each'
from /usr/lib/ruby/1.6/irb/init.rb:196:in `run_config'
from /usr/lib/ruby/1.6/irb/init.rb:195:in `catch'
from /usr/lib/ruby/1.6/irb/init.rb:195:in `run_config'
from /usr/lib/ruby/1.6/irb/init.rb:21:in `initialize'
from /usr/lib/ruby/1.6/irb.rb:55:in `start'
from /usr/bin/irb:13
‚ƂȂÁ‚Äirb‚ª‹N“®‚¹‚ñ‚¼�[�B
•⊮‚Á‚ÄŽd—l•Ï‚í‚Á‚½‚Ì�H
0328ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGold = srand(@seed)
r = rand
@seed = srand(old)
‚±‚ñ‚È•—‚ÉŽí(@seed)‚ðƒ��[ƒJƒ‹‚ÉŽ�‚Á‚Ă݂½‚¯‚Ç�A
Ží‚͂܂Á‚½‚•ω»‚µ‚Ä‚¢‚©‚È‚¢Ž–‚É‹C‚¢‚½�B
0329ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@literal�@�@literal�@�@literal�@�@literal
0330ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.6.6‚̃\�[ƒXŒ©‚½‚¯‚Ç�Asrand‚ª•Ô‚·ŒÃ‚¢seed‚Í‘O‰ñsrand‚µ‚½Žž‚Ìseed‚Ý‚½‚¢‚Ë�B
•�’Ê‚Érand‚ªŒÄ‚Ñ�o‚³‚ꂽ�ê�‡‚͈ê�Ø–³Ž‹‚µ‚Ä�A‚±‚ñ‚ÈŠ´‚¶‚łǂ¤‚æ�H
class Random
attr_reader :seed, :times
def initialize(seed = 0)
@seed = seed
@times = 0
end
def next_num(max = 0)
srand(@seed)
@times.times do
rand()
end
@times += 1
rand(max)
end
end
nest_num‚ª‰½“x‚àŒÄ‚Ñ�o‚³‚ꂽ�ê�‡�A
‚©‚Ȃ肢‚ç‚È‚¢�ˆ—�‚ª‘½‚‚È‚Á‚Ä‚µ‚Ü‚¤‚̂őS‘RŽÀ—p“I‚ł͂Ȃ¢‚¯‚Ç‚Ë�B
ŒJ‚è•Ô‚µŒÄ‚Ñ�o‚³‚ê‚é�ê�‡‚Í�H•v‚·‚邿‚¤‚ɕς¦‚Ă݂ê‚΂¢‚¢‚ÆŽv‚¤�B
‚ ‚Æ�Aƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚È‚ñ‚Ä‚µ‚½‚ç�A‚»‚ꂱ‚»ƒ_ƒ�ƒ_ƒ�‚¾‚È�c�B
0331ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�ó‘Ô‚ð‚Æ‚é‚É‚Í BSD 4.3 ‚É—R—ˆ‚·‚é setstate() ‚ª‚ ‚邯‚±‚낾‚Æ�o—ˆ‚é‚©‚à�H
Ž©—͂łâ‚é‚É‚Í libc ‚̃\�[ƒXŒ©‚È‚ª‚ç Ruby ‚Å non-linear additive feedback
random number generator ‚ðŽÀŒ»‚µ‚Ä‚Ý‚é‚Æ‚©
0332328
NGNG‚»‚Ì•û–@‚à�l‚¦‚½‚ñ‚¾‚¯‚Ç�A‚Ç‚ñ‚Ç‚ñ•t‰Á‚ª�A
‘å‚«‚‚È‚Á‚Ä‚¢‚‚©‚çŽ~‚߂Ƃ±‚¤‚ÆŽv‚Á‚½(w
‘f’¼‚ɓƎ©ŽÀ‘•‚µ‚½‚Ù‚¤‚ª‚悳‚»‚¤‚Å‚·‚Ë�B
0333ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ç‚¤‚¹�ì‚é‚È‚ç�A1.7Œn‚©‚ç�Ì—p‚³‚ê‚éMersenne Twister‚ðŽg‚Á‚Ă݂ĂÍ�H
http://www.math.keio.ac.jp/~matumoto/mt.html
0334328
NGNG�ì‚é‚Á‚ÄŒ¾‚Á‚Ä‚à�”�s‚ÌRuby‚̃R�[ƒh‚ð
�‘‚‚¾‚¯‚È‚ñ‚Å�c‚»‚ñ‚ȂɋC�‡‚¢“ü‚Á‚Ă܂¹‚ñ�B
‚à‚µ1.7‚Å—��”ƒIƒuƒWƒFƒNƒg‰»�o—ˆ‚邿‚¤‚É
‚È‚é‚ñ‚Ȃ炻‚Á‚¿Žg‚¨�B
0335ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0336ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚½‚¾‚µ’P‚É”z—ñ‚Ì’†‚É”z—ñ‚ª‚ ‚邾‚¯‚Ȃ̂ŎŸŒ³‚Æ‚¢‚Á‚Ä‚¢‚¢‚Ì‚©‚í‚©‚ñ‚È‚¢‚¯‚Ç�B
‚¢‚í‚ä‚é‘½ŽŸŒ³�”’l”z—ñ‚ðˆµ‚¤‚É‚ÍRAA‚É‚ ‚éNArray‚ª—Ç‚¢‚©‚à�B
0337327
NGNG‚݂Ȃ³‚ñ‚Ó‚Â�[‚Éirb-0.9-02.09.03‚ɱÌß
‚Å‚«‚Ü‚·‚½‚©�H
0338ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰¼‚É‚±‚±‚Ńpƒbƒ`‚ª�o‚Ä‚à–{‰Æ‚É“`‚í‚é‚܂łɎžŠÔ‚©‚©‚è‚»‚¤‚¾‚µ
0339ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://rrr.jin.gr.jp/doc/1.7/
‚±‚Ì JavaDoc ‚Á‚Û‚¢ƒc�[ƒ‹‚Å�ì‚Á‚½‚ÆŽv‚í‚ê‚éƒy�[ƒW‚Í�A
‚È‚ñ‚Ä‚¢‚¤ƒc�[ƒ‹‚ðŽg‚¦‚΂æ‚낵‚¢‚̂ł·‚©�B
0340ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRDoc‚â‚Ë�B
http://rdoc.sourceforge.net/
0341ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0342ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�^|�@�@�@�@�@�@ �@ |�@ |�Q�Q�Q�Q_ƒ³ƒ³ƒ³ƒ³ƒ³ƒ³ƒ³ƒ³ƒ³ƒ³ƒ³||ƒ³ƒ³ƒ³
�@ |�@�@�@�@�@�@ �@ |�@ |�P�P�P �^|�@�@�@�@�@ �@ �@ �@ �@ �@ �@ �@ ||
�@ |�@�@�@�@�@�@ �@ |�@ |�@�@�@�^ �^|TTTTTT�@�@ TTTTTTTTTT||TTTTT
�@ |�@ �@ �@ �@ �^�_�@|�@ �^|�^|�^|^^^^^^ |ŽOŽO| ^^^^^^^^^^^||^^^^^^^
�@ |�@ �@ �@ �^�@ �^�@|�^�^ �^ �^|
�@ |�@�@�@�^�@ �^ |�Q|�^|�^|�^|�^|
�@ |�@ �^�@ �^�@�@|•¶|�^ �^�^ �^
�@ |�^�@ �^.�@ �Q.|�P|�^|�^|�^�@�@�@�@�@�@�@�@�@ƒ©�Qƒ©
�^|�_�^ �@�^�@�^ �@|�^ �^�@�@�@�@�@�@�@�@�@�@ �i�Q�Q_�j
�^|�@ �@ �^�@�^�@ �^�R�@�@�@�@�@�@�@�@�@�@�@�@/�k ”ñOO �l�l‚Â
�@ |�@�@�@|�P|�@ |�@|�R�^l�@�@�@�@�@�@�@�@�@�@�@ �M/“ñ“ñ�R
�@ |�@�@�@|�@ |�^|�@|__|�^�@�@�@ƒ©�Qƒ©�@�@�@�@ /�@/�i�Q�j
�@ |�@�@�@|�^|�@ |�^�@�@�@�@�@ �i�@�L�Í�M�j�@�@�@�i�Q�j�@�@�@ ƒ©�Qƒ©
�@ |�@�@�@|�@ |�^�@�@�@�@�@ �^/ /�@ ^�P�n�@�@�@�@�@�@�@�@�i�M�@�@�@�j
�@ |�@�@�@|�^�@�@�@�@�@�@�@ ß/�P�P_�R�@�@�@�@�@�@�@�@�@�¼�k�k ”ñOO �l
0343ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGrubyƒ†�[ƒU‚Á‚Ä�ŒႾ‚È�B
0344ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0345ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚æ‚Á‚ۂlj÷‚µ‚©‚Á‚½‚ñ‚¾‚È�B‚͂͂Í
0346ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0347ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0348347
NGNGname.split(/::/)‚Æancestors‚ð•à‚«‚È‚ª‚çconst_defined?‚Å’²‚ׂĂ¢‚¯‚Ηǂ¢‚Ý‚½‚¢
0349ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�S‚ ‚é�l‚Í�ArubyƒXƒŒ‚É‚¨—çŽQ‚肵‚Ä‚‚¾‚³‚¢�B
0350ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Pƒy�[ƒW‚É”[‚߂ă†�[ƒU�[‚ɃXƒNƒ��[ƒ‹‚ð‹�§‚³‚¹‚È‚¢‚悤‚É
‚µ‚悤‚Æ‚¢‚¤”z—¶‚ª‚Ü‚Á‚½‚Š´‚¶‚ç‚ê‚È‚¢�B
‚Æ‚©‚¢‚Ü‚³‚猾‚Á‚Ă݂éƒeƒXƒg
0351ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŠÇ—�ŽÒ‚É�o—ˆ‚é‚à‚ñ‚Ȃ炻‚¤‚µ‚Ä‚ ‚邾‚낤‚©‚ç�A�o—ˆ‚È‚¢‚©‚ç‚â‚Á‚ĂȂ¢‚ÆŽv‚í‚ê�B
0352ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’m‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚©�H
0353ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ªŒÄ‚΂ê‚邽‚Ñ‚É�AƒNƒ‰ƒX•Ï�”‚̃JƒEƒ“ƒ^‚ðƒCƒ“ƒNƒŠƒ�ƒ“ƒg‚·‚ê‚΂¢‚¢‚ñ‚Å‚Í�B
0354ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGrequire "thread"
class Foo; @@c = 0; def initialize(); Thread.exclusive{@@c+=1}; end; end
‚¿‚©‚ç‚í‚´‚¾‚Æ‚±‚¤
def n(klass) c=0; ObjectSpace.each_object{|i| i.class==klass && c+=1}; c; end
0355352
NGNG—Ⴆ‚Τ
sony_humanResource = HumanResource.new("sony")
sony_finance = Finance.new("sony")
sony_activeField = ActiveField.new("sony")
sony_convention = Convention.new("sony")
sony_participant = Participant.new("sony")
sony_newCommer = NewCommer.new("sony")
sony_oldCommer = OldCommer.new("sony")
sony_purpose = Purpose.new("sony")
‚̂悤‚ɘA‘±“I‚ɃIƒuƒWƒNƒg‚ð�ì‚Á‚Ä�A�o—ˆ�オ‚Á‚½sony_XXXX‚Á‚ăIƒuƒWƒFƒNƒg‚ð
ƒOƒ‹�[ƒv‰»‚³‚¹‚½‚¢‚ñ‚Å‚·‚ª�A‚ǂ̂悤‚È•û–@‚ª‚ ‚è‚Ü‚·‚©�B
------------------------------------------------------------------------
�~‚È•û–@�F
store(HumanResource, sony_humanResource)
store(Finance, sony_finance)
store(ActiveField, sony_activeField)
store(Convention, sony_convention)
store(Participant, sony_participant)
store(NewCommer, sony_newCommer)
store(OldCommer, sony_oldCommer)
store(Purpose, sony_purpose)
0356ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0357ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGGroup = Struct.new(:humanResource, :finance, :activeField, ...ˆÈ‰º—ª)
def group(name)
group = Group.new
group.humanResource = HumanResource.new(name)
group.finance = Finance.new(name)
group.activeField = ActiveField.new(name)
<—ª>
group
end
sony = group("sony")
0358352
NGNG>>354
—L“‚²‚´‚¢‚Ü‚·�B
>>357
•Ö—˜‚»‚¤‚Å‚·‚Ë�BStruct�B‚±‚ê‚ð‚µ‚Î‚ç‚Žg‚Á‚Ă݂܂·�B
‚‚¢‚łłȂñ‚Å‚·‚ª¤‚±‚ÌStruct‚ÌŽÀ‘•—á‚©‰½‚©‚²‘¶’m‚Å‚·‚©�H
RAA‚Æ‚©‚Å‚à‚¢‚¢‚ñ‚Å‚·�B
0359ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGrequire "rbconfig"
require "find"
Find.find(Config::CONFIG["rubylibdir"]){|fn|
next if /\.rb\z/ !~ fn
g = open(fn).read.grep(/\bStruct\b/)
print g.join.gsub(/^/,fn+":") unless g.empty?
}
0360358
NGNG>ŽÀ‘•—á�H�@•W�€ƒ‰ƒCƒuƒ‰ƒŠ‚É‚¨‚¯‚é—˜—p—á‚È‚çˆÈ‰º‚ª�o—Í‚·‚é
—L“‚²‚´‚¢‚Ü‚µ‚½�B•W�€ƒ‰ƒCƒuƒ‰ƒŠ‚É‚¨‚¯‚é—˜—p—á‚ÅŒ‹�\‚È‚ñ‚Å‚·�B
�@# ‚µ‚©‚µ¤‘¼‚Ì�l‚Í‚±‚¤‚µ‚ĕ׋‚µ‚Ä‚½‚Ì‚©�c�c
‚Ç‚¤‚à‚Å‚µ‚½�B
0361ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGc:> hoge.rb foo bar
‚Æ‚µ‚½�ê�‡�AARGV‚ŃRƒ}ƒ“ƒh‚̈ø�”‚ªŽæ‚ê‚È‚¢�B
c:> ruby hoge.rb foo bar
‚È‚çOK�c‚Á‚Ä‚±‚ñ‚È‚à‚ñ�H‚¹‚Á‚©‚ruby‚Á‚Ä�È—ª‚Å‚«‚é‚ñ‚¾‚Á‚½‚çˆø�”‚àŽæ‚Á‚Ăقµ‚¢‚ñ‚¾‚¯‚Ç�E�E�E�B
0363ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.bekkoame.ne.jp/~bero/docj/module_/15/WWW_Search.html
‚Ì
WWW::Search ‚Æ‚¢‚¤•Ö—˜‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·‚ª¤
ruby‚ɂ͓¯—l‚ÌŽdŽ–‚ð‚·‚é‚à‚Ì‚Á‚ĉ½‚ª‚ ‚è‚Ü‚·‚©�B
0364ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGcygwin”łł͂±‚¤‚È‚é�B
$ cat foo.rb
#!/usr/local/bin/ruby
p ARGV
$ ./foo.rb foo bar
["foo", "bar"]
0365ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby/Google‚µ‚©’m‚ç‚È‚¢‚ª�AWWW::Search‚É”ä‚ׂ邯‘å‚°‚³‚©‚à�B
WWW::Search‚̃\�[ƒX‚ðŽQ�l‚É‚µ‚ÄŽ©�삵‚½•û‚ª—Ç‚¢‚ÆŽv‚¤�B
http://www.caliban.org/ruby/ruby-google.shtml
0366ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG$ hogesearch=http://hoge/search?query=
$ ruby -rkconv -e 'system("start","#{ENV{'hogesearch'}}+CGI::escape#{ARGV.shift}")' “ú–{Œê
Œ©‚½‚¢‚È‚±‚Æ‚ª‚µ‚½‚¢‚ñ‚Å‚·‚¯‚Ç�B
‚È‚¨¤start‚Í
http://www.ganaware.org/S/sow/
‚Å‚·(GANAWare�j�B‚Å‚·
0367ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘f’¼‚ÉPerŽg‚Á‚½•û‚ª‚¢‚¢‚ÆŽv‚¤�B
0368ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG$ ruby -ruri -e'p("start",ENV["hogeserch"].to_s+"+"+URI::escape(ARGV[0]))' “ú–{Œê
0369ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG><—ª>
>group
>end
>
>sony = group("sony")
‚±‚̃Oƒ‹�[ƒv�\‘¢‘̃IƒuƒWƒF‚Ìsony‚Æ
ˆø�”‚Ì"sony"‚Ƃ̊Ԃ̈Ⴂ‚͂ǂ¤‚â‚Á‚Ä‹æ•Ê‚³‚ê‚é‚̂łµ‚傤�B
irb(main):001:0> sony.type
‚Æ‚µ‚½�ê�‡�B
0370–¼–³‚µ‚³‚ñ�—‚d‚�‚�‚ƒ‚“
NGNG0371ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ‚è‚ ‚¦‚¸�A“ú–{Œê•׋‚µ‚Ä‚©‚玿–â‚·‚ê
ˆÓ–¡•ª‚©‚ç‚ñ
irb(main):001:0> sony.type
‚ÌŒ‹‰Ê‚ª
#<Class:0x1019dc38>
‚ƂȂ邪�A‹C‚É‚·‚é‚È�A‹æ•Ê‚·‚é•K—v‚È‚ñ‚Ä‚Ë�[‚æ
0372ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0373ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹àŒõ‚½‚ñ“{‚ç‚ê‚¿‚á‚Á‚½‚Ë...
0374ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> irb(main):001:0> sony.type
> ‚ÌŒ‹‰Ê‚ª
> #<Class:0x1019dc38>
‚±‚êƒ}ƒW�H–³–¼ƒNƒ‰ƒX‚Ì name ‚Í�Å�‰‚ÉŒ©‚‚©‚Á‚½–¼‘O‚ɂȂé‚ñ‚¶‚á‚È‚©‚Á‚½‚Á‚¯�H
>>357 ‚ð�^Ž—‚Ä“¾‚½‚Ì‚Í�«‚È‚ñ‚¾‚¯‚Ç�B
% irb
irb(main):001:0> X = Struct.new(:a,:b,:c)
X
irb(main):002:0> def x(a,b,c)
irb(main):003:1> x = X.new
irb(main):004:1> x.a = a
irb(main):005:1> x.b = b
irb(main):006:1> x.c = c
irb(main):007:1> x
irb(main):008:1> end
nil
irb(main):009:0> x = x(4,5,6)
#<X a=4, b=5, c=6>
irb(main):010:0> x.type
X
irb(main):011:0> RUBY_VERSION
"1.6.7"
‚à‚µ‚©‚µ‚Ä–¼‘O‚ª‘S‚Œ©‚‚©‚ç‚È‚¢�ê�‡�H
irb(main):012:0> Struct.new(:x,:y).new
#<#<Class 0lx80b8d74> x=nil, y=nil>
0375ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG% cd /usr/local/lib/ruby/1.6
% grep -r '\bStruct\b' .
zsh ‚Ȃ炱‚ê�«‚Å‚à‚æ‚µ
% grep '\bStruct\b' **/*.rb
�l‚¦‚Ă݂ê‚ÎRuby‚Ìglob‚à **/*.rb ‚ð—�‰ð‚·‚é‚©‚ç�A >>359 ‚à‚±‚¤‚Å‚«‚é‚È
require "rbconfig"
Dir[Config::CONFIG["rubylibdir"]+"/**/*.rb"].each{|fn|
g = open(fn).read.grep(/\bStruct\b/)
print g.join.gsub(/^/,fn+":") unless g.empty?
}
0376ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGirb(main):001:0> X =Struct.new(:a,:b,:c)
X
irb(main):002:0> def x(a,b,c) X.new(a,b,c) end
nil
irb(main):003:0> x = x(4,5,6)
#<X a=4, b=5, c=6>
irb(main):004:0> x.class
X
def ‚Æ new ‚Í“¯‚¶�s‚É‚µ‚È‚‚Ä‚à—Ç‚¢‚ª�B
‚»‚¤‚¢‚â Object#type() ‚ª‚È‚‚Ȃ邻‚¤‚¾‚ª�A#class() ‚̓ŒƒV�[ƒo•K�{‚Æ‚¢‚¤ã©
0377ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG”j‰ó‚µ‚ë
0378ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0379ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚·‚݂܂¹‚ñ�B‹A‚è‚Ü‚·�B
0380ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽg—p•p“x‚ª�‚È‚¢‚µ�A‚»‚ñ‚È‚±‚Æ‚µ‚Ä‚½‚ç‘S‚ẴCƒeƒŒ�[ƒ^‚É
xxx_with_index‚ð—pˆÓ‚·‚é‰H–ڂɂȂé�B—~‚µ‚©‚Á‚½‚玩•ª‚Å�‘‚¯�B
‚Á‚ĉðŽß‚Í‚ ‚Á‚Ä‚é?
0381ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�e‚Æ‚µ‚Ä�Ó”C‚ðŽæ‚Á‚Ä‚à‚ç‚í‚È‚¢‚Æ�ArubyƒXƒŒ‚Ì�í�œˆË—Š‚ð�o‚µ‚Ü‚·�B
0382ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl‚̃XƒŒ‚ª�r‚³‚ê‚é‚͕̂K‘R‚ÌŒ‹‰Ê‚¾‚낤�B
0383ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¢‚¢‹C–¡‚¾�A‚Æ‚µ‚©Žv‚í‚È‚¢‚ª‚È�B
0384ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby user is cold.
0385ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0386ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG....nanber? Was the number meant?
0387ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGbut Ruby users have the worst moral.
0388ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0389ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGeach_with_index ‚Æ‚© myeach ‚Æ‚©ŒÄ‚Ô•û–@‚ª‚ ‚邯‚¢‚¢‚̂ɂ˂¦�B
map(:each_with_index){|e,i| ... } ‚Æ‚©‚³�B
0390ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0391ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�‘�ЂւÌ�w”ƒˆÓ—~‚È‚‚È‚è‚Ü‚µ‚½�B
”Þ‚É—Š‚Ü‚ê‚½’˜ŽÒ‚͂ǂ¤Žv‚Á‚Ä‚¢‚é‚Ì‚©�H
0392ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGrequire 'enumerator'
str = "xyz"
enum = str.enum_using(:each_byte)
a = enum.map {|b| '%02x' % b } #=> ["78", "79", "7a"]
ttp://www.ruby-lang.org/~knu/cgi-bin/cvsweb.cgi/rough/ext/enumerator/
0393ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGCGI‚àRuby‚à‚æ‚’m‚ç‚Ë�[‚È‚çCGI‚Ì–â‘è‚©Ruby‚Ì–â‘è‚©�؂蕪‚¯‚ç‚ê‚È‚¢‚Ì‚Í
“–‘R‚È‚ñ‚¾‚µ�A“IŠm‚ɔ‚ðŽg‚¢•ª‚¯‚邱‚Ƃ͖³—�‚ÆŽv‚í‚ê�B
ˆá‚Á‚½‚ç—U“±‚³‚ê‚ñ‚¶‚á‚Ë�[‚©�B
0394ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0395ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒp�³‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX = ƒŒƒvƒŠƒJƒ“ƒg
‚±‚ꂵ‚©Žv‚¢•t‚«‚Ü‚¹‚ñ�B‘¼‚ɉ½‚ª‚ ‚è‚Ü‚·‚©�H
0396ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0397ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤‚í�A‚»‚ê‚¢‚¢‚Ë‚¦�B
‚¢‚¢‚¯‚ǂ킴‚í‚´‚»‚ñ‚È‚±‚Æ‚µ‚È‚‚Ä‚à�A“ÁˆÙƒ�ƒ\ƒbƒh‚Åeach‚ð
�ã�‘‚«‚·‚ê‚΂¢‚¢‚¾‚¯‚̂悤‚È‹C‚à‚·‚é�i‚—
str‚ð‘€�삵‚½‚¢‚Ì‚É�Aenum.map‚Á‚Ä‚â‚ñ‚È‚«‚á‚È‚ç‚ñ‚Ì‚à‚È‚ñ‚©‚í‚©‚è‚Â炢‚µ�B
str = "xyz"
class <<str
�@def each(&f)
�@�@each_byte &f
�@end # def
end # class
p str.map {|b| '%02x' % b } #=> ["78", "79", "7a"]
0398ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚ɃIƒuƒWƒFƒNƒg’PˆÊ‚Ƃ͂¢‚¦ each ‚ð•Ï‚¦‚½‚çƒ}ƒY‚¢‚±‚Æ‚à‚æ‚‚ ‚é�B
0399ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤‚ñ�AŠm‚©‚Éeach‚Ý‚½‚¢‚É�d—v‚ȃ�ƒ\ƒbƒh‚ð�‘‚«Š·‚¦‚é‚̂͂܂¸‚¢‚Æ‚¢‚¤‚©�A
•�’Ê‚â‚ç‚È‚¢‚µ‚â‚肽‚‚à‚È‚¢�B‚â‚Á‚Ï�A
str.map(:each_byte) {}
‚Ý‚½‚¢‚ɌĂׂ½‚ç‚¢‚¢‚È�B‚±‚ê‚Ȃ炨ŽèŒy‚¾‚µ�B
‚»‚¤‚¢‚¤‚킯‚Å‚±‚ñ‚Ȃ̂͂ǂ¤‚¾�A‚Á‚ÄŠù‚ɂǂÁ‚©‚É�o‚Ă邿‚¤‚È‹C‚à‚·‚邪�B
module Each
�@def map(e = :each, &block)
�@�@r = []
�@�@send(e) { |elem|
�@�@�@r << block.call(elem)
�@�@}
�@�@r
�@end # def
end
str = "xyz"
str.extend(Each)
p str.map(:each_byte) {|b| '%02x' % b } #=> ["78", "79", "7a"]
0400ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGmodule Each
�@def map(e = :each, &block)
�@�@r = []
�@�@send(e) { |*elem|
�@�@�@r << block.call(*elem)
�@�@}
�@�@r
�@end # def
end
str = "xyz"
str.extend(Each)
p str.map(:each_byte) {|b| '%02x' % b } #=> ["78", "79", "7a"]
arr = [1, 2, 3]
arr.extend(Each)
p arr.map(:each_with_index) {|elem, idx| elem * idx} #=> [0, 2, 6]
0401ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0402ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWebProg‚É‚à‚¿‚á‚ñ‚ƃXƒŒ‚ ‚邿�B
�yRuby�zRuby‚ÅCGI
http://pc.2ch.net/test/read.cgi/php/988948655/
�l‚Í�‚È‚¢‚¯‚Ç�A‚±‚±‚ðŒ©‚Ä‚¢‚é�l‚Í‚»‚Á‚¿‚àŒ©‚Ä‚¢‚邯Žv‚¤�c�B
CGI‚É“Á‰»‚µ‚½Ruby‚̘b‚È‚çWebProg‚Ì•û‚ª‚¢‚¢‚©‚à�B
0403ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒX�[ƒp�[‚©‚çŒp�³‚µ‚½ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‚·‚×‚ÄƒŒƒvƒŠƒJƒ“ƒg‚ƌĂт܂·�B
ƒCƒeƒŒ�[ƒ^‚̓R�[ƒh‚Ì’Z�k‰»‚É‚æ‚èƒ}ƒCƒNƒ��[ƒ“‚ƌĂт܂·�B
‚»‚µ‚ăNƒ‰ƒX•Ï�”�AƒCƒ“ƒXƒ^ƒ“ƒX•Ï�”‚ȂǂðƒGƒŒƒ�ƒ“ƒg‚ƌĂт܂·�BƒŒƒvƒŠƒJƒ“ƒg
“à‚̃GƒŒƒ�ƒ“ƒg‚Å‚·�B
�L‹`‚É‚Í�A’è�”‚â’è�”“™‚ðŠÜ‚߂܂·‚ƃXƒ‰ƒ“ƒO“I‚ɃtƒBƒtƒXƒGƒŒƒ�ƒ“ƒg‚ƌĂт܂·�B
ƒKƒx�[ƒWƒRƒŒƒNƒ^‚͕ʖ¼’è‹`‚Ń^�[ƒ~ƒl�[ƒ^‚ƌĂт܂·�B‚µ‚½‚ª‚Á‚ăKƒx�[ƒWƒRƒŒƒNƒVƒ‡ƒ“
‚Ì“®�ì–¼�̂̓^�[ƒ~ƒlƒCƒVƒ‡ƒ“‚Å‚·�BƒIƒuƒWƒFƒNƒg‚ÍŽg—pŒãƒ^�[ƒ~ƒl�[ƒ^�[‚É‚æ‚è
ƒq�[ƒv‚©‚çƒ^�[ƒ~ƒlƒCƒVƒ‡ƒ“‚³‚ê‚Ü‚·�BƒJƒx�[ƒWƒRƒŒƒNƒVƒ‡ƒ“‚ÍOS‘¤‚ÌŽ‹“_‚Å‚ ‚è
ƒ^�[ƒ~ƒlƒCƒVƒ‡ƒ“‚ÍŒ¾Œê�ã‚©‚ç‚ÌŽ‹“_‚Å‚·�B
‚»‚µ‚ăNƒ‰ƒX‚Æ‚¢‚¤Œ¾—t‚̓}ƒgƒŠƒNƒX‚ƌĂђ¼‚µ‚Ü‚·�BŒ¾Œê‚Í’Š�Û‹óŠÔ‚ÌŽv�lŠˆ“®‚ð•K—v‚Æ
‚µ�Aƒo�[ƒ`ƒƒƒ‹‚Å‚·�BƒIƒuƒWƒFƒNƒgŽuŒüŒ¾Œê‚ł͂·‚ׂĂªƒNƒ‰ƒX=ƒ}ƒgƒŠƒNƒX‚É‚æ‚Á‚Ä
‹L�q‚³‚ê‚é‚Ì‚Å�Aƒ}ƒgƒŠƒNƒX‚Í‚ ‚ç‚ä‚é�ê�Ђɂ ‚é‚̂ł·�B
‚»‚µ‚Äruby‚ðŽg‚¤ƒ†�[ƒU�[‚Í‚·‚ׂĉBŒê‚Å�uƒlƒI�v‚ƌĂт܂·�B
‚³‚ç‚É‚³‚ç‚Ématz‚̓WƒFƒ_ƒC‚Å‚·�B
0404ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0405ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�uƒX�[ƒp�[‚©‚çŒp�³‚µ‚½ƒNƒ‰ƒX�v‚Æ‚»‚¤‚łȂ¢‚à‚̗̂á‚ð1‚‚¸‚Â
ŽÀ�s‰Â”\‚ȃR�[ƒh‚ÅŒ©‚¹‚ê
0406ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒvƒ�ƒOƒ‰ƒ€‚Ì’†‚ÅŽg‚¦‚é‚à‚Ì‚ª‚ ‚ê‚Η~‚µ‚¢‚Å‚·�B�i–³‚¯‚ê‚Ζ³‚¢‚Å�A�ì‚Á‚Ă݂½‚¢�j
0407ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�ãˆÊƒNƒ‰ƒX‚̃�ƒ\ƒbƒh‚ð‹@”\Šg’£‚Ì‚½‚ß�ÝŒv‚𖳎‹‚µƒR�[ƒhƒŒƒxƒ‹‚Å�ŸŽè‚É
ƒI�[ƒo�[ƒ‰ƒCƒh‚µ‚Ă悢‚̂ł·‚©�Hgoto•¶‚ð’m‚Á‚Ä‚¢‚Ü‚·‚©�H
perler‚Å‚·‚©�H
0408ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0409ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGzlib ‚̃‰ƒbƒpƒ‰ƒCƒuƒ‰ƒŠ‚Ì ruby/zlib ‚Æ�A
ruby/zlib ‚ðŽg‚Á‚½ zip ƒ‰ƒCƒuƒ‰ƒŠ‚Ì ruby-zip ‚Í‚ ‚邿�B
ruby-zip ‚Í pure ruby�B
tar ‚Í’m‚ç‚È‚¢�B
0410ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0411ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@ �^�œ�R/
�@(�Q�Q�Q)�@
0412ƒ}ƒTƒI
NGNGŽ„�A�¡“xruby‚̃�ƒ‹ƒ}ƒK‚ð”�s‚µ‚¿‚Á‚Ⴝ‚Ì�B‚³‚Ÿ‚Ý‚ñ‚È‚Åruby‚ðŽg‚¨‚¤�I
‚Å‚à�A8•”‚µ‚©“ǂ܂ê‚ê‚Ä‚¢‚È‚¢‚Ì�Bƒ}ƒTƒIƒ`ƒƒƒ“‚³‚Ý‚µ‚¢�E�E�E�B
‚»‚ñ‚È–l‚É—ã‚Ü‚µ‚̃��[ƒ‹�‘‚¢‚Ä‚‚ê‚é‚Á‚ÄŒ¾‚¤ƒtƒ@ƒ“ƒL�[‚ÈŒN‚ÌƒŠƒNƒGƒXƒg
‚Ü‚Á‚Ă邿�I�B
http://www.mag2.com/m/0000098213.htm
‚Ý‚ñ‚Ȃ̃}ƒTƒI‚æ‚è�B
0413ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0414ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚¸Object‚ª‚ ‚é�D‚»‚ê‚©‚çRuby‚É‚ÍClass‚ƃNƒ‰ƒXƒ�ƒ\ƒbƒh‚ª‚ ‚邽‚ß
Œp�³‚Í >>407 ‚ªŽv‚Á‚Ä‚¢‚邿‚肸‚Á‚Æ•¡ŽG‚©‚à‚µ‚ê‚È‚¢�D—Ⴆ‚Î�C
�@ƒIƒuƒWƒFƒNƒgo‚Ì“ÁˆÙƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚Í�C
�@ƒIƒuƒWƒFƒNƒgo‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚É•K‚¸‚µ‚àˆê’v‚µ‚È‚¢�D
—Ⴆ‚Î
�@ƒIƒuƒWƒFƒNƒgo‚Ì“ÁˆÙƒNƒ‰ƒXs‚Ì“ÁˆÙƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚Í�C
�@ƒIƒuƒWƒFƒNƒgo‚Ì“ÁˆÙƒNƒ‰ƒXs‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚ł͂Ȃ¢�D
‚±‚ê‚Í
�@ƒNƒ‰ƒXk‚Ì“ÁˆÙƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚ª�C
�@ƒNƒ‰ƒXk‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚Ɉê’v‚µ‚È‚¢‚±‚Ƃɂæ‚邿‚¤‚¾�D
‚½‚¾‚µ
�@ƒNƒ‰ƒXk‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX‚Í
�@ƒNƒ‰ƒXk‚̃X�[ƒp�[ƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚Ɉê’v‚·‚é�D
class Object; def s;class<<self;self;end; end; end; # “ÁˆÙƒNƒ‰ƒX
o = Object.new ; p o.s.s.superclass == o.s.superclass.s #=> true
s = Object.new.s ; p s.s.s.superclass == s.s.superclass.s #=> false
k = Class.new ; p k.s.s.superclass == k.s.superclass.s #=> false
p k.s.superclass == k.superclass.s #=> true
> �ãˆÊƒNƒ‰ƒX‚̃�ƒ\ƒbƒh‚ð‹@”\Šg’£‚Ì‚½‚ß�ÝŒv‚𖳎‹‚µƒR�[ƒhƒŒƒxƒ‹‚Å�ŸŽè‚É
> ƒI�[ƒo�[ƒ‰ƒCƒh‚µ‚Ă悢‚̂ł·‚©�H
�ÝŒv‚𖳎‹‚·‚é‚̂͗ǂ‚È‚¢�D‚¾‚ª�ÝŒv‚𖳎‹‚¹‚¸‚É�Ä’è‹`‚·‚é‚Ì‚Í�\‚í‚È‚¢‚¾‚낤�D
‚¢‚¸‚ê‚É‚¹‚æRuby‚ÉŒÀ‚炸‚Ù‚Æ‚ñ‚Ç‚Ì�Ä’è‹`‚Í—˜—pŽÒ‚Ì�Ó”C‚É‚¨‚¢‚Ä�ŸŽè‚É�s‚È‚í‚ê‚é�D
‚»‚ꂪ‚¢‚â‚È‚ç�ãˆÊ‚̃Nƒ‰ƒX‚Ì’ñ‹ŸŽÒ‚̓tƒbƒN‚Æ•¶�‘‚Å�Ä’è‹`‚ð‹ÖŽ~‚·‚é‚ׂ«‚¾�D
0415ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.7‚©‚ç‚»‚±‚ç‚Ö‚ñ�‚µ•Ï‚í‚é‚Ý‚½‚¢‚¾‚Ë�B
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.7+feature#2002-08-31%3A+ruby+interpreter
‚Ç‚¤‚¢‚¤Ž–‚Ȃ̂©‚³‚Á‚Ï‚è‚í‚©‚ç‚È‚¢‚¯‚Ç�c�B
0416ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’m‚Á‚Ă̒ʂèƒNƒ‰ƒXk‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚Æ‚Í�Ck‚Ì“ÁˆÙƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚¾�D
k.superclass == j ‚ð–ž‚½‚·k‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚Æ‚µ‚Ä�Cj‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚ªŽg‚¦‚é
‚·‚Ȃ킿j‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚ªk‚ÉŒp�³‚³‚ê‚邯‚¢‚¤‚±‚Æ‚Í�C
�@ƒNƒ‰ƒXk‚Ì“ÁˆÙƒNƒ‰ƒX‚̃X�[ƒp�[ƒNƒ‰ƒX k.s.superclass ‚ª
�@ƒNƒ‰ƒXk‚̃X�[ƒp�[ƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX k.superclass.s ‚‚܂è j.s ‚ƈê’v‚·‚é
‚Æ‚¢‚¤‹K‘¥‚ÉŠî‚¢‚Ä‚¢‚é�D‚µ‚©‚µ�C“ÁˆÙƒNƒ‰ƒX‚ªƒNƒ‰ƒX‚̈êŽí‚Å‚ ‚é‚É‚àŠÖ‚í‚炸�C
k‚ª‚ ‚éƒNƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚¾‚Æ�ã‚Ì‹K‘¥‚Í‚à‚Í‚â�¬‚è—§‚½‚È‚¢‚Æ‚¢‚¤‚Ì‚ª >>414 ‚¾�D
k.s.s.s.... ‚ð�ÄŒ»‚È‚‹–‚·‚Æ k.s.s.superclass ‚̃Cƒ“ƒXƒ^ƒ“ƒX k.s.superclass ‚ð�C
�@(a) k.s.s.superclass ‚ð•]‰¿‚µ‚½Žž“_‚Å�¶�¬‚·‚é‚Ì‚©�C
�@(b) k.s.superclass ‚ª�‰‚߂ĕ]‰¿‚³‚ꂽ‚Æ‚«‚É�¶�¬‚·‚é‚Ì‚©
‚Ɉˑ¶‚µ‚È‚¢Œ`‚Å�Clazy‚È(b)‚ðŽÀŒ»‚·‚邱‚Ƃ̓‚³‚ª‚±‚Ì�§ŒÀ‚Ì—�—R‚̂悤‚¾�D
0417ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚̃�ƒ‹ƒ}ƒK‚̈Ó�}‚ª‰½‚¾‚©‚í‚©‚ç‚ñ�B
0418ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0419389
NGNGƒ�ƒ\ƒbƒhƒ`ƒF�[ƒ“‚Ì“r’†‚ÅŽg‚¨‚¤‚Æ‚·‚邯�A‚»‚±‚É extend ‚ð‚Í‚³‚Þ•K—v‚ª‚ ‚Á‚Ä�A
‚»‚ê‚È‚ç >>392 ‚ª‹“‚°‚½•û–@‚ÆŽèŠÔ‚Í‚ ‚ñ‚Ü‚è•Ï‚í‚ç‚È‚¢‹C‚ª‚µ‚Ü‚µ‚½�B
‚µ‚©‚à Each ‚¾‚Æ•¶Žš�”‚Å•‰‚¯‚Ă邩‚ç�Ÿ‚‚ɂ̓‚ƒWƒ…�[ƒ‹–¼‚ð E ‚É‚·‚邵‚©�c
p "extend(Each).map(:each_byte)".size -
"enum_using(:each_byte).map".size #=> 2
0420ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�i�@�L,_�T`�j Ì߯
0421ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0422ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�i�@�L,_�T�M�jÌ߯ = �i�@�L,_�T�M�jÌ߯ ; p �i�@�L,_�T�M�jÌ߯
$ ruby -Ke pu
nil
nil
$
0423ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG400‚ðƒtƒ@ƒCƒ‹‚É�‘‚¢‚Ä‚¨‚�B‚½‚Æ‚¦‚Î�Aeach.rb‚Æ‚©�B
‚ñ‚Å�Aeach.rb‚Ì’†‚É�A
class String; include Each; end
‚Æ‚©�‘‚¢‚Ä‚¨‚�BŽg‚¤‚Æ‚«‚Írequire‚·‚ê‚΂悢�B
ˆê‰ž�A400‚Ì‚Í�Aƒpƒ‰ƒ��[ƒ^‚ð—^‚¦‚È‚¢‚Æ‚«‚Ì‹““®‚ÍŠù‘¶‚Ìmap‚Æ
“¯‚¶‚É‚È‚é‚æ‚¤‚ɂȂÁ‚Ă邵(‚½‚¾‚µ‘¬“x‚Í—Ž‚¿‚邾‚낤)�A–â‘è‚È‚¢‚ÆŽv‚¤�B
•�’Ê‚Ìmap‚ðŽg‚¢‚½‚©‚Á‚½‚ç�A
'abc'.map {|line| �`}
‚Å‚¢‚¢‚µ�A
'abc'.map(:each_byte) {|c| �`}
‚Æ‚µ‚Ä‚àŽg‚¦‚é�B
‚½‚¾�A‚±‚ê‚ð‚â‚Á‚¿‚Ⴄ‚ÆString‚Ìmapƒ�ƒ\ƒbƒh‚ðƒOƒ��[ƒoƒ‹‚ɕς¦‚邱‚ƂɂȂé‚ñ‚Å�A
‚ǂ̂悤‚È�ê–ʂłàmap‚Ì‘¬“x‚͒ቺ‚µ‚Ä‚µ‚Ü‚¤‚¾‚낤�B
‚Ç‚¤‚¾‚낤�A‚±‚ê‚Å‚à–Ê“|‚©�B
0425ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG@AoH = (
{
husband => "barney",
wife => "betty",
son => "bamm bamm",
},
{
husband => "george",
wife => "jane",
son => "elroy",
},
{
husband => "homer",
wife => "marge",
son => "bart",
},
);
#----------------------------------------------
perl‚ł̓nƒbƒVƒ…‚ª�W‚Á‚Ä”z—ñ‚ð�ì‚邱‚Æ‚ª�o—ˆ‚Ü‚·‚ª¤ruby‚Å“¯‚¶Ž–‚ð
•\Œ»‚·‚鎞‚É‘I‘ð‚·‚×‚«ƒf�[ƒ^�[�\‘¢‚Á‚ĉ½‚ª‚ ‚è‚Ü‚·‚©�H
0426ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚ñ‚Ü�AƒnƒbƒVƒ…‚Ì�W‚Ü‚è‚ð”z—ñ‚É“ü‚ê‚ê‚΂悢‚ÆŽv‚¤�B
AoH = [
{
:husband => "barney",
:wife => "betty",
:son => "bamm bamm",
},
{
:husband => "george",
:wife => "jane",
:son => "elroy",
},
{
:husband => "homer",
:wife => "marge",
:son => "bart",
},
]
0427425
NGNGpush @AoH, { husband => "fred", wife => "wilma", son => "junior" };
‚łǂñ‚Ç‚ñ�ì‚ê‚é‚â‚‚ł·�B
$AoH[0]{husband} = "fred";
‚̂悤‚ɤhusband,wife,son‚ªŒÅ’è‚Ť”z—ñ‚ŃAƒNƒZƒX‰Â”\�B
�¡‚܂łÉ�æ‚Á‚½ŽÔ�F
�æŽÔ�‡ ƒuƒ‰ƒ“ƒh �æŽÔ”N�” ’l’i
1‘ä–Ú xxxx xxxx xxxx
2‘ä–Ú xxxx xxxx xxxx
3‘ä–Ú xxxx xxxx xxxx
‚Ý‚½‚¢‚È�\‘¢‚Å‚·�B
0428ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¨‚¨¤‚·‚݂܂¹‚ñ‚Å‚µ‚½�B427‚Í–³Ž‹‚µ‚Ä‚‚¾‚³‚¢�B
0429425
NGNG—L“‚²‚´‚¢‚Ü‚µ‚½�B
table={}
AoH.collect{|r|r.to_s.scan(/(husband|wife|son)(.*)[^(husband|wife|son)]/){|role,name| table[role]=name}}
‚Ý‚½‚¢‚É‚â‚Á‚Ä
husband =>’l
wife =>’l
son =>’l
‚Æ‚µ‚½‚¢‚̂ł·‚ª¤‰½�ˆ‚ª‚¢‚¯‚È‚¢‚̂łµ‚傤‚©�H
0430ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGaoh = [{:a => "xa", :b => "xb", :c => "xc"},
{:a => "ya", :b => "yb", :c => "yc"},
{:a => "za", :b => "zb", :c => "zc"}]
‚©‚ç
table = {:a => ["xa", "ya", "za"],
:b => ["xb", "yb", "zb"],
:c => ["xc", "yc", "zc"]}
‚ð�ì‚肽‚¢‚Æ‚¢‚¤‚±‚Ƃłæ‚낵‚¢‚©? ‚È‚ç‚ΗႦ‚΂±‚¤‚¾
table = {} ; [:a,:b,:c].each{|role| table[role] = aoh.map{|elm| e[role]}}
0431425
NGNGp AoH.each{|a|
p a.shift
p a.shift
p a.shift
}
‚Å‚·‚Ë�B
0433ƒ}ƒTƒI
NGNG�¡“úŒ©‚½‚ç‚U‚U•”‚à‚Í‚Á‚±‚¤‚³‚ê‚Ä‚¢‚½‚æ�B
‚¤‚ꂵ‚¢‚æ�Bƒ}ƒTƒIƒ`ƒƒƒ“—܃`ƒ‡ƒ`ƒ‡ƒMƒŒ‚»‚¤�B
�¡“ú‚Ì—[”т̔[“¤˜¥‚à”ü–¡‚µ‚‚©‚ñ‚¶‚¿‚Á‚Ⴝ�B”[“¤‚ð‚©‚«�¬‚º‚é‰ñ“]�”‚à
2000‰ñ“]/rpm‚Á‚ÄŠ´‚¶�š
‚»‚ê‚¶‚á‚ ‚¨‹x‚Ý�B‚¤‚Ó�B
-ƒ}ƒTƒIÒÙ϶Þ-
http://www.mag2.com/m/0000098213.htm
‚Ý‚ñ‚Ȃ̃}ƒTƒI‚æ‚è�B
0434ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚·‚²‚¢ƒlƒ^‚¾‚È‚Ÿ�B
singleton‚Ísingleton‚Å‚ ‚Á‚ÄsingletonˆÈŠO‚̉½ŽÒ‚Å‚à‚È‚¢‚æ‚낵‚¢‚©�H
0435ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.freeml.com/ctrl/html/MessageForm/[email protected]/192/
http://www.freeml.com/ctrl/html/MessageForm/[email protected]/210/
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/36111
0436352¤425
NGNGŠi”[‚µ‚悤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·�B
ƒtƒ@ƒCƒ‹‚Ƀf�[ƒ^‚ðŠi”[‚µ‚Ä‚©‚礓®“I‚ɃIƒuƒWƒFƒNƒg‚ð�\’z‚µ‚½‚¢‚̂ł·‚ª¤
ƒtƒ@ƒCƒ‹‚̃tƒH�[ƒ}ƒbƒg‚͂ǂ̂悤‚É‚µ‚½‚ç‚¢‚¢‚Å‚µ‚傤‚©�B‘²˜_‚̃Aƒ“ƒP�[ƒg‚Ì�WŒv
‚ðruby‚Å‚·‚邯‚¢‚¤ŽŽ‚݂łµ‚Ĥ‚»‚Ì‚½‚߂ɤޖ‘O‚Ƀf�[ƒ^�\‘¢‚ð’è‹`‚µ‚Ä‚¨‚±‚¤‚¢‚¤�S�Ï‚à‚è‚Å‚·�B
�¡Œã‚à•K—v‚ɉž‚¶‚ĤƒnƒbƒVƒ…‚ðƒnƒbƒVƒ…‚̃nƒbƒVƒ…‚ÉŠg’£‚µ‚½‚è‚·‚邯Žv‚¢‚Ü‚·‚ª¤
‰½‚©‚æ‚¢”‘z‚͂Ȃ¢‚Å‚µ‚傤‚©�B‚»‚ê‚Æ‚à–³’ƒ‚ÈŽŽ‚Ý‚Å‚µ‚傤‚©�H
%Org = (
org1 => {
public => "AŽR‚Ì�X‚ðŽç‚é‰ï",
activeday => [ "monday", "thursday", "friday" ],
members => [
{ name => "“c’†", role => "‰ï’·", age => 36, },
{ name => "“n•Ó", role => "�‘‹L", age => 31, },
{ name => "�V�é", role => "‹c’·", age => 41, },
],
},
org2 => {
public => "ƒuƒi‚Ì�X‚ðˆ¤‚·‚é‰ï",
�@�@¥
�@�@¥
�@�@¥
org1�`org20‚®‚ç‚¢‚܂Ť‘±‚�B
0437ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤�[‚ñ�A‚Ç‚¤Šg’£‚·‚é‚‚à‚è‚Ȃ̂©‚í‚©‚ç‚ñ‚©‚ç‚È‚ñ‚Æ‚àƒAƒhƒoƒCƒX‚Ì‚µ‚悤‚ª‚È‚¢‚È‚ �B
XML‚ðŽg‚Á‚Ä‚Ý‚é‚Æ‚©�B‚¨‚ê�A‚ ‚ñ‚Ü‚èXML‚É‚Í�Ú‚µ‚‚È‚¢‚ñ‚¾‚¯‚Ç�A‚±‚¤‚¢‚¤‚Æ‚«‚ÉŽg‚¦‚È‚¢‚©‚È�B
‚ ‚Æ‚»‚¤‚¾‚È�A‚»‚¤‚¢‚¤‚Ó‚¤‚É•¡ŽG‚È�\‘¢‚ɂȂÁ‚Ä‚‚邯�A�¶‚ÌHash‚â‚çArray‚â‚ç‚ðŽg‚¤‚æ‚è
ƒNƒ‰ƒX‚É‚µ‚¿‚á‚Á‚½‚Ù‚¤‚ªŒ©’Ê‚µ‚ª‚æ‚‚È‚¢‚©�B
0438ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>‚¢‚¸‚ê‚É‚¹‚æRuby‚ÉŒÀ‚炸‚Ù‚Æ‚ñ‚Ç‚Ì�Ä’è‹`‚Í—˜—pŽÒ‚Ì�Ó”C‚É‚¨‚¢‚Ä�ŸŽè‚É�s‚È‚í‚ê‚é
‚Æ‚¢‚¤‚±‚Æ‚Í�Ä’è‹`‚ð“ú–é—˜—p‚µ‚Ä‚¢‚é•û�X‚ÍComplex‚âDate‚̂悤‚È�V‚½‚È
ƒNƒ‰ƒXorƒNƒ‰ƒXƒ‰ƒCƒuƒ‰ƒŠ‚ð“ú�X�ì�¬‚³‚ê‚Ä‚¢‚é‚킯‚¾�B
0439ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒOƒ‹�[ƒv‚ð’†�S‚É�˜‚¦‚Ä�l‚¦‚éˆÓ‹`‚Í•ª‚©‚ç‚È‚¢‚¯‚Ç�A‚È‚ñ‚É‚¹‚æ
ƒOƒ‹�[ƒvƒIƒuƒWƒFƒNƒg‚Í‚ ‚Æ‚Å�¶�¬‚µ‚½•û‚ª‚¢‚¢‚ÆŽv‚¤‚æ�BˆêŽŸ“I‚É‚Í
ƒL�[‚ªƒOƒ‹�[ƒv–¼‚Å‚»‚Ì�î•ñ(‚½‚¾‚µ�\�¬ˆõ‚͊܂܂Ȃ¢)‚ª’l‚Å‚ ‚邿‚¤‚ȃnƒbƒVƒ…‚Æ
ƒL�[‚ªŠw�ДÔ�†‚Å‚»‚Ì�l‚Ì�î•ñ‚ª’l‚Å‚ ‚邿‚¤‚ȃnƒbƒVƒ…‚ð‚»‚ê‚¼‚ê�ì‚è
‚»‚±‚©‚ç•K—v‚ȃf�[ƒ^�\‘¢‚ɕϊ·‚µ‚Ä‚¢‚‚Ì‚ª‚¨‚·‚·‚ß�B
“ü—Í‚ÍRubyƒR�[ƒh‚É‚±‚¾‚í‚炸“K“–‚ÉŒˆ‚ß‚½•û‚ª‘ł‚̂ªŠy‚È‚ñ‚¶‚á‚È‚¢‚©‚È�B
Žè•ª‚¯‚µ‚Ä“ü—Í‚·‚é•K—v‚ª‚ ‚é‚È‚çƒtƒ@ƒCƒ‹‚Å—^‚¦‚¸�ACGI‚É‚·‚邯‚¢‚¤Žè‚à‚ ‚é�B
‚Ƃɂ©‚‚±‚¤‚¢‚¤˜b‚Í‹K–͂Ɉˑ¶‚µ‚ĉð–@‚ðŒˆ‚ß‚é‚ׂ«‚¾‚ÆŽv‚¤�B
‚µ‚©‚µ‚æ‚قǃf�[ƒ^‚ª�¬‚³‚‚È‚¢ŒÀ‚è�A“ü—͂Ɖi‘±‰»‚͕ʂà‚Ì‚Æ�l‚¦‚½•û‚ª‚¢‚¢�B
•¶Žš—ñ‚ªŽå‘̂̃f�[ƒ^‚Í�A"•¶Žš—ñ" ‚̂悤‚Ɉø—p•„‚ð‚í‚´‚í‚´‘ł‚̂ª–Ê“|‚¾‚µ�A
ƒŠƒeƒ‰ƒ‹‚Å�‘‚¯‚é”͈͂Ƀf�[ƒ^�\‘¢‚ª�§ŒÀ‚³‚ê‚邯“à•”‚ÅŽg‚¢‚É‚‚¢�B
0440ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆÓ–¡‚ª‚æ‚•ª‚©‚ç‚È‚©‚Á‚½‚ª�C�Ä’è‹`‚Æ‚¢‚¤Œ¾—t‚ÌŠ¨ˆá‚¢‚É‚æ‚é‚Ì‚¾‚낤‚©�D
”O‚Ì‚½‚ߊm”F‚·‚邯�C�Ä’è‹`‚Æ‚¢‚¤‚̂͊ù‘¶‚̃�ƒhƒbƒh‚ð’è‹`‚µ’¼‚·‚±‚Æ‚ðŽw‚·�pŒê‚¾�D
—Ⴆ‚Î�CŽŸ‚̃R�[ƒh‚Í Object ‚©‚çŒp�³‚³‚ꂽ initialize ‚ð�Ä’è‹`‚µ‚Ä‚¢‚é�D
class Foo; def initialize() end end
‚±‚ê‚Í—˜—pŽÒ‚Ì�Ó”C‚É‚¨‚¢‚Ä�ŸŽè‚É�s‚È‚í‚ê‚邱‚Ƃ̈ê—á‚Å‚ ‚é�D
‚½‚¾‚µ�C__id__ ‚Æ __send__ ‚¾‚¯‚Í—˜—pŽÒ‚ª�Ä’è‹`‚·‚邯Œx��‚³‚ê‚é�D
0441ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆêŒ¾‚Å‚¢‚¦‚Î�uŒ»ŽÀ“I‚ɂ̓Nƒ‰ƒX‚Ì“ÁˆÙƒNƒ‰ƒX‚ɃNƒ‰ƒXƒ�ƒ\ƒbƒh‚Í•K—v‚È‚¢�v
‚Æ‚¢‚¤”»’f‚Å‚ ‚낤�D
‚Æ‚±‚ë‚Å“ÁˆÙƒNƒ‰ƒX‚ð’P‚É singleton ‚ƌĂԂ̂Í�¬—�‚ÌŒ³‚ɂȂé‚̂Œ�ˆÓ‚³‚ꂽ‚¢�D
’Ê�í singleton ‚̓fƒUƒCƒ“ƒpƒ^�[ƒ“‚Ì–¼�̂Ƃµ‚ÄŽg‚í‚ê‚é�D“ÁˆÙƒNƒ‰ƒX‚Æ‚¢‚¤–¼‘O‚ª
—Ç‚‚È‚¢‚Æ‚¢‚¤Žw“E‚à‚ ‚邪—Ç‚¢‘ãˆÄ‚ªŒ©‚‚©‚Á‚Ä‚¢‚È‚¢‚悤‚¾�Dƒ�ƒ^ƒNƒ‰ƒX‚Æ‚¢‚¤
ŒÄ‚Ñ–¼‚àŽg‚í‚ê‚¢‚邪�C’Ê�í‚̓Nƒ‰ƒX‚̃Nƒ‰ƒX‚ðŽw‚·–¼�̂ł ‚é‚Ì‚ª•´‚ç‚킵‚¢�D
Ruby‚Å‚Í�‚È‚‚Æ‚à•\–Ê“I‚ɂ̓Nƒ‰ƒX‚̃Nƒ‰ƒX‚Í Class ‚¾‚©‚炾�D
0442352¤425
NGNGhumanResource ¤ finance ¤ activeField ¤ newCommer ¤ purpose ¤activeDay “™‚̃fƒBƒŒƒNƒgƒŠ‚É‚»‚ꂼ‚ê¤excelƒuƒbƒN‚ð—pˆÓ‚µ¤
Ž¿–â‚ðƒOƒ‹�[ƒsƒ“ƒO‚µ‚½‚à‚Ì‚ðŠi”[‚µ‚Ü‚·�Bƒ��[ƒNƒV�[ƒgˆê–‡‚Éorgˆê‚‚ª‘Ήž‚·‚邿‚¤‚ȃuƒbƒN‚ð�ì�¬‚·‚é‚̂ł·‚ª¤ƒ�ƒCƒ“‚Ì�WŒv‚Í
Spreadsheet::ParseExcel‚ÅUnix�ã‚ÉŽæ‚èŠñ‚¹‚Ä�s‚¢‚Ü‚·�B‚»‚Ì�Û¤ƒtƒ‰ƒbƒg‚ȃeƒLƒXƒgƒf�[ƒ^‚ðˆê’UƒIƒuƒWƒFƒNƒg‚ÉŠi”[‚µ‚Ĥ
irb‚Æpstore‚ðŽg‚¨‚¤‚ÆŽv‚¢¤‚»‚Ì�ۂ̃f�[ƒ^�\‘¢‚ð�l‚¦‚邯‚±‚ë‚ÅçT‚¢‚½¤‚Æ‚¢‚¤ˆÓ–¡‚Å‚·�B‚à‚¿‚ë‚ñ
def org(name)
org = Org.new
org.humanResource = HumanResource.new(name)
�@�@�@�@¥
org.purpose = Purpose.new(name)
end
‚̂悤‚È�ì‹Æ‚Í‚â‚âŒã”¼(ƒOƒ‰ƒt�ì�¬‚â‚܂Ƃ߂̒iŠK)‚ɂȂÁ‚Ä•K—v‚ƂȂé�ì‹Æ‚Å‚µ‚Ĥ‚Ü‚¸‚͗Ⴆ‚Τ
activeFieldƒfƒBƒŒƒNƒgƒŠ�F�ê�ŠŠÖ˜A‰ñ“š.xls�Forg3ƒV�[ƒg�F
–â22�F‹M’c‘͓̂Á’è‚ÌŠˆ“®�ê�Š‚ð‚¨Ž�‚¿‚Å‚·‚©�H
–â32�F“sŽs‹ß�x‚ÅŠˆ“®‚³‚ê‚é�ê�‡‚ÌŽR’n¤—¢’n‚ð‚¨“š‚¦‚‚¾‚³‚¢�B
�@�@�@�@�@�ê�Š�@�@Šˆ“®ŽžŠú�@�@Šˆ“®“à—e�@�©key
��1�@�@value�@�@value
��2�@�@value�@
��3
‚̂悤‚ȉñ“š�W‚ß‚½excelƒuƒbƒN‚Ì–â32‚Ì�€–Ú‚ðƒnƒbƒVƒ…‚Ì”z—ñ‚Æ‚µ‚Ä•\Œ»‚·‚ׂ«‚Ȃ̂©¤‚Æ‚¢‚¤˜b‚Å‚·�B
Spreadsheet::ParseExcel‚ɂǂ̂悤‚ȃtƒH�[ƒ}ƒbƒg‚Å�o—Í‚³‚¹‚ê‚Τruby‘¤‚Åobj‚ð�\’z‚µ‚â‚·‚¢‚©‚Æ‚¢‚¤‚Ì‚ª
436‚Å‚¨•·‚«‚µ‚½‚©‚Á‚½‚±‚Ƃł·�Bxml‚ŃKƒbƒ`ƒŠ�\’z‚·‚é‚قǂ̎žŠÔ“I—]—T‚͂Ȃ(’ñ�o‚ª�I‚í‚ê‚Î�¥”ñ‚â‚Á‚Ă݂½‚¢‚Å‚·‚ª�c�c�j¤
ŽÐ‰ï�l‚Ì•û‚Æ‚©‚Å‚·‚Ƥ•¡ŽG‚Å‚ ‚é’ö“x‚Ì•ª—ʂ̃f�[ƒ^‚©‚ç“®“I‚Éobj‚ð�ì‚邿‚¤‚ÈŒoŒ±‚ð‚³‚ê‚½•û‚Í‚¢‚é‚̂ł͂Ɖ¯‘ª‚µ‚Ä‚¢‚Ü‚·�B
0443438
NGNG‚»‚ê‚Í’m‚Á‚Ä‚é�B‚½‚¾’P�ƒ‚ɂǂêˆÊ‚Ì�l‚ª�V‹K‚ɃNƒ‰ƒX‚ð�ì‚Á‚Ä‚¢‚é‚Ì‚©‚È�A‚Æ�B
ŽÀ�ۂǂꂂ炢‚È‚ñ‚¾‚ë�H“ÁˆÙƒ�ƒ\ƒbƒh‚â“ÁˆÙƒNƒ‰ƒX‚ð—˜—p‚·‚邱‚Æ‚à�l‚¦‚ç‚ê‚ê‚é
‚Å‚µ‚å�B
0444ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽ�‚¿�ž‚ñ‚¾‚è�A“ü—Í‚ð“ǂނƂ±‚ë‚Å•¡ŽG‚È‚±‚Æ‚ð‚·‚é‚Ì‚à‚¨Š©‚߂ł«‚È‚¢‚È‚ �B
“ü�o—Í•”‚Æ�WŒv•”‚âperlƒXƒNƒŠƒvƒg‚Ƃ̈ˑ¶�«‚ª�‚‚‚ăR�[ƒh‚Ì•Ï�X‚ª–Ê“|‚É‚È‚é‚æ�B
‚»‚ê‚Ƀtƒ@ƒCƒ‹ƒtƒH�[ƒ}ƒbƒg‚ð�l‚¦‚é‚͓̂‚¢‚©‚ç�l‚¦‚È‚¢‚Å�ςޕû–@‚ª‚¢‚¢�B
—Ⴆ‚΃��[ƒNƒV�[ƒg–ˆ‚É1ƒtƒ@ƒCƒ‹‚É‚µ‚Ä�AŠe�s‚ðƒ^ƒu‹æ�Ø‚è(TSV)‚Å�o‚·‚̂͂ǂ¤�H
TSV‚È‚ç“f‚‚Ì‚àŠÈ’P‚¾‚µRuby‚©‚ç‚ÍŽŸ‚̂悤‚ɓǂ߂邵‚Ë�B
for fn in filenames
data[fn] = open(fn).read.map{|i| i.chomp.split(/\t/)}
end
data["fx"][9].indices[23,31] ##=> ƒtƒ@ƒCƒ‹fx‚Ì10�s–Ú‚Ì24,32ƒJƒ‰ƒ€‚߂̒l
ƒnƒbƒVƒ…ƒŠƒeƒ‰ƒ‹‚Å�‘‚‚ÆŠÈ’P‚ÉŒ©‚¦‚é‚©‚à’m‚ê‚È‚¢‚¯‚Ç�AŽd—l‚̌ł܂Á‚ĂȂ¢
ƒlƒXƒg‚µ‚½ƒf�[ƒ^�\‘¢‚̃AƒNƒZƒXŽè’i‚ð�ì‚é‚̂͑½ŽŸŒ³”z—ñ‚̂Ƃ½‚¢‚µ‚ĕςí‚ç‚È‚¢�B
‚Ç‚Á‚¿‚Ì•û–@‚àŽd—l‚Ì•Ï�X‚ð‹zŽû‚·‚邯‚±‚낪‚Ç‚±‚©‚Å•K—v‚ɂȂ邩‚ç‚Ë�B
‚»‚ê‚Æxml‚ªƒKƒbƒ`ƒŠ‚Æ‚¢‚¤‚̂͊Ԉá‚Á‚½”Fޝ‚©‚à�Bƒ}�[ƒVƒƒƒ‹‚̈êŒ`Ž®‚ÆŽv‚¦‚΂¢‚¢�B
ƒp�[ƒU‚ð�‘‚©‚È‚‚Ä�ςނ̂à‘å‚«‚È—˜“_‚¶‚á‚È‚¢�Hxml‚Æ‚¢‚Á‚Ä‚à‚¢‚ë‚¢‚ë‚ ‚邿�B
0445ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.cneti.net/users/kou/ruby/xmlstore/
0446352¤425
NGNGŠm‚©‚É‚¨‚Á‚µ‚á‚邯’Ê‚è‚Å‚·�B
‚»‚ê‚Æ¤—F’B‚ɑВk‚µ‚½‚礃Zƒ‹”͈ÍRange(" ")‚É–¼‘O‚ð•t‚¯‚Ĥ–¼‘O‚Æoffset(i,j)‚ŃAƒNƒZƒX‚µ‚ÄExcel‚¾‚¯‚Ť
�ˆ—�‚µ‚ë‚æ¤‚Æ‚ ‚Á‚³‚è‚ÆŒ¾‚í‚ê‚Ü‚µ‚½�B
Šm‚©‚ɤީ•ª‚Å‚à‰“‰ñ‚è‚È•û–@‚¾‚ÆŽv‚Á‚Ä‚¢‚Ü‚·‚ª�c�c
‚µ‚΂ç‚�l‚¦‚Ü‚·�B
0447ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGCSV‚È‚èTSV‚È‚è‚ÅExcel‚©‚ç�‘‚«�o‚µ‚Ä�Aawk‚ ‚½‚è‚Å�WŒv‚µ‚¿‚Ⴞ‚ß‚©‚È�H
0448–¼–³‚µ‚³‚ñ�—‚d‚�‚�‚ƒ‚“
NGNG0449ˆêŽžŠÔ–Ú
NGNGarray.sort{|a,b,c| ‚±‚±‚ɂȂñ‚Ä�‘‚‚Ì‚©‚È�B}
0450ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG3 ˆø�”�H
0451ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0452ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚©‚çExcel‚ðŽg‚¤‚Æ‚¢‚¤•û–@‚à‚ ‚é
ttp://member.nifty.ne.jp/masarl/article/ruby-win32ole.html
Excel‚ð‚‚©‚í‚È‚‚ĂȂ‚Ä‚¢‚¢‚ñ‚È‚ç�A‰´‚È‚çRuby‚¾‚¯‚Å‚â‚邯‚Ç�A
–{�l‚ªExcel‚ÆRuby‚̂ǂÁ‚¿‚ÉŠµ‚ê‚Ă邩‚Ì–â‘è‚¶‚á‚È‚¢‚©‚È�B
ƒe�[ƒ}‚ª‰½‚©‚Í’m‚ç‚È‚¢‚¯‚Ç�A“�Œv�ˆ—�‚ª–Ú“I‚Ȃ炻‚Á‚¿‚É—Í‚¢‚ꂽ•û‚ª‚¢‚¢‚©‚à�B
“ü—͂̃tƒŒ�[ƒ€ƒ��[ƒN‚Å”Y‚ނ̂͂ ‚ñ‚Ü‚è–Ê”’‚‚È‚¢‚©‚炳‚Á‚³‚ÆŒˆ‚ß‚½•û‚ª‚¢‚¢‚æ�B
0453ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGExcel‚Ńrƒ~ƒ‡�[‚ÈŒvŽZ‚ð‚·‚é‚Æ‚«‚Í‹C‚ð‚‚¯‚ê
ttp://www.matsusaka-u.ac.jp/~okumura/software/excel/roundoff.html
0454ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG$ ruby -e 'p [4,3,1,2].sort{|a,b,c|a<=>b}'
[1, 2, 3, 4]
0455ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdef f
yield(1,2)
end
f{|i,j,k| p [i,j,k]} #=> [1, 2, nil]
‚Æ‚¢‚¤‚±‚Æ‚©�c
0456ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0457ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGary.sort{|i,j,k|$bogo||=callcc{|$c|:bogo};1-2*rand}.inject($bogo=nil){|i,j|(i)?((i[-1]<=j&&i<<j)||$c.call(:bogo)):[j]}
0458ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGa1
a2
a3
b1
b2
b3
c1
c2
c3
‚Æ
a1
b1
c1
a2
b2
c2
a3
b3
c3
‚Ì“ñ‚‚ªƒ�ƒ“ƒ‰ƒCƒi�[‚Å�o—ˆ‚Ü‚¹‚ñ�B‚Ç‚¤‚â‚é‚̂łµ‚傤�B
0459ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ
ruby -e '("1".."3").each{|i|("a".."c").each{|j| puts j+i}}'
‚Á‚Ä‚±‚Æ‚©�H
0460ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒX�[ƒp�[ƒNƒ‰ƒX‚Å def foo; fail; end ‚Æ‚©‚â‚éˆÈŠO‚É
‰½‚©ƒJƒbƒR‚¢‚¢•û–@‚È‚¢‚©‚È�H
‚±‚¤‚¢‚¤‚Ì‚ð–]‚Þ‚Ì‚ÍRuby‚ÌŽv‘z‚ÆŠO‚ê‚Ä‚¢‚邯Žv‚¤‚ñ‚¾‚¯‚Ç�B
0461ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGClassƒNƒ‰ƒX‚Ìprivateƒ�ƒ\ƒbƒh‚Éinherited‚Æ‚¢‚¤‚Ì‚ª‚ ‚é�B
‚±‚¢‚‚͂Ȃɂ©‚Æ‚¢‚¤‚Æ�AƒTƒuƒNƒ‰ƒX‚ª’è‹`‚³‚ꂽ‚Æ‚«‚É�A
‚»‚̃TƒuƒNƒ‰ƒX‚ðˆø�”‚ɌĂÑ�o‚³‚ê‚é‚à‚Ì‚¾�B
‚»‚ê‚ÅŽÀŒ±‚µ‚Ă݂½�B
class Super
def Super.inherited(subclass)
p subclass.instance_methods
end # def
end # class
class Sub < Super
def foo
end # def
end # class
ŽÀ�sŒ‹‰Ê‚Í
[]
‚¾‚Á‚½�Bƒ_ƒ�‚¶‚á‚ñ�c
instance_methods‚ªŽæ‚ê‚ê‚Î(Œ‹‰Ê‚ª["foo"]‚¾‚Á‚½‚ç)�A
‚©‚Á‚±‚悳‚°‚È•û–@‚Ń`ƒFƒbƒN‚Å‚«‚½‚Ì‚É�B
‚±‚̃tƒbƒN‚Á‚ăTƒuƒNƒ‰ƒX‚ª�¶�¬‚³‚ꂽ‚æ�A–¼‘O‚Í‚±‚¤‚¾‚æ�A
‚‚ç‚¢‚Ì�î•ñ‚µ‚©‚È‚¢‚Ý‚½‚¢‚¾�B
ŽÀ�s‘¬“x‚ª’x‚‚È‚Á‚Ä‚à‚æ‚¢‚̂Ȃç�ASuper‚Ìinitializeƒ�ƒ\ƒbƒh‚̂Ȃ©‚Å
instance_methods‚ðŽæ‚Á‚Ä”ä‚ׂ邯‚¢‚¤‚̂łàƒ`ƒFƒbƒN‚͉”\‚¾‚¯‚Ç�A
SubƒIƒuƒWƒFƒNƒg‚ª�¶�¬‚³‚ê‚邽‚тɃ`ƒFƒbƒN‚·‚é‚ñ‚Å�A
‚»‚ñ‚ȃAƒz‚È‚±‚Ƃ͂µ‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚¾‚낤�B
ˆÈ�ã�A–ð—§‚½‚¸‚Å‚µ‚½�B
0462352¤425
NGNGŠî–{“I‚ÈŽ¿–â‚Å‚·‚ª¤‚±‚ÌWIN32OLE‚Á‚Ä‚¢‚¤ƒNƒ‰ƒX‚ɂ‚¢‚ĂȂ̂ł·‚ª
�ìŽÒ‚̃z�[ƒ€ƒy�[ƒW‚É‚à‚ ‚é’Ê‚è¤WIN32OLE#each {|i|...}‚ðŽÀ‘•‚µ‚½‚©‚ç
for item in collection ‚Ì�\•¶‚ªŽg‚¦‚邯‚ ‚è‚Ü‚·‚ª¤Ž„Ž©�g‚»‚Ì‚ ‚½‚è‚ÌŽd‘g‚Ý
(‰½‚ªprimitive‚Ȃ̂©‚Æ‚¢‚¤‚±‚Æ�j‚ª‚Ü‚¾‚æ‚”»‚Á‚Ä‚¢‚È‚¢‚©‚ç‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª
‚Ç‚±‚Ü‚Åruby‚Ì�\•¶‚ª‚‚©‚¦‚é‚©‚ª“ä‚Å‚·�B‚¾‚©‚ç‚È‚©‚È‚©Žg‚¤‹C‚ɂȂê‚È‚¢‚Å‚·�B
‰º‚É“\‚Á‚½‚悤‚ɤwin32ole.c‚É�F�X’ljÁ‚³‚ê‚Ä‚¢‚邿‚¤‚Å‚·‚ª¤‹@”\‚ª‚æ‚”»‚ç‚È‚¢
ŠÖ�”‚ª‘½‚¢‚Á‚·�B‚Ü‚¾‚±‚ÌŽè‚Ì•ª–ì‚ɂ‚¢‚Ăͤ‚ ‚ñ‚Ü‚µ�î•ñ‘½‚‚È‚¢‚Ì‚©‚È�B
% grep "^fole_" win32ole.c |sed -e 's/fole_//'
s_allocate(klass)
s_connect(argc, argv, self)
s_const_load(argc, argv, self)
s_reference_count(self, obj)
s_free(self, obj)
s_show_help(argc, argv, self)
initialize(argc, argv, self)
invoke(argc, argv, self)
invoke2(self, dispid, args, types)
getproperty2(self, dispid, args, types)
setproperty2(self, dispid, args, types)
setproperty(argc, argv, self)
getproperty(self, property)
each(self)
missing(argc, argv, self)
methods( self )
get_methods( argc, argv, self )
put_methods( argc, argv, self )
func_methods( argc, argv, self )
obj_help( self )
method_help( self, cmdname )
0463ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGclass •¶‚Ì�I‚è‚ŌĂ΂ê‚éƒtƒbƒN‚ª•K—v�Bmatz ‚ÉƒŠƒNƒGƒXƒg‚µ‚Ă݂ê‚Î�H
‚Æ‚è‚ ‚¦‚¸‚ÍŽÀ‘•‚³‚ê‚ĂȂ¢‚È‚¢‚±‚Ƃ𖾎¦‚·‚邯‚»‚ê‚Á‚Û‚¢‚©‚à�B
class Foo
def foo()
raise NotImplementedError, "not implemented method for `#{inspect}'"
end
end
class Bar<Foo; end
Bar.new.foo
0464ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚̃^ƒCƒ~ƒ“ƒO‚łƂê‚Ä‚à—]‚èˆÓ–¡‚ª‚È‚¢�B
ƒ�ƒ\ƒbƒh‚͌ォ‚ç‚¢‚‚ç‚Å‚à’ljÁ‚Å‚«‚é‚©‚ç�B
‚»‚ê‚Å‚à‚â‚肽‚«‚á�AƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Å–¢‚¾ƒ`ƒFƒbƒN‚µ‚Ä‚¢‚È‚¢ƒN
ƒ‰ƒX‚Ì�ê�‡‚̂݃`ƒFƒbƒN‚·‚邯‚©‚â‚è‚æ‚¤‚Í‚ ‚é�B
> SubƒIƒuƒWƒFƒNƒg‚ª�¶�¬‚³‚ê‚邽‚тɃ`ƒFƒbƒN‚·‚é‚ñ‚Å�A
> ‚»‚ñ‚ȃAƒz‚È‚±‚Ƃ͂µ‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚¾‚낤�B
>
> ˆÈ�ã�A–ð—§‚½‚¸‚Å‚µ‚½�B
“ª‚ÍŽg‚¢—l�B
0465460
NGNGŽ©•ª‚à inherited ‚Í�A‚±‚ׂ̈ɗpˆÓ‚µ‚Ä‚‚ê‚Ä‚¢‚é‚ñ‚¾‚Æ�A
Žv‚Á‚Ä“¯‚¶‚悤‚É‘g‚ñ‚Å‚½‚ç—\‘zŠO‚ÌŒ‹‰Ê‚ɂȂÁ‚½(w
‚â‚Á‚Ï‚è>>463‚³‚ñ‚̂悤‚É�‘‚‚Ì‚ª‚¢‚¢‚©‚È�B
‚Å�Aƒ�ƒ\ƒbƒh‚ª‘½‚¢�ê�‡‚Íeval‚ňê‹C‚É�¶�¬‚·‚邯�B
‚Å‚àeval‚È‚ñ‚©Žg‚¢‚¾‚·‚Ɖ˜‚炵‚¢‚È�c
0466ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ‹˜_‚Í�o‚½‚Ý‚½‚¢‚¾‚¯‚Ç�B
abstract method
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/15841
“ÁˆÙƒ�ƒ\ƒbƒh‚ð�l‚¦‚邯�A‚±‚¤‚¢‚¤‚͈̂Ӗ¡‚ª‚È‚¢‚Ì‚©‚à‚µ‚ê‚È‚¢�B
0467ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGfor i,j in x do .... end ‚Í x.each do |i,j| .... end ‚Ƃقړ¯‚¶�B
ˆá‚¢‚Í for ‚Ì�ê�‡‚Í end ˆÈ�~‚Å‚à i,j ‚ªŽg‚¦‚é‚̂ɑ΂µ‚Ä�A
each ‚Ì�ê�‡‚Í i,j ‚ª‚»‚̃XƒR�[ƒv‚Å�‰�o‚È‚ç end ˆÈ�~‚ł͎g‚¦‚È‚¢“_�B
Windows ŒÅ—L‚Ì‚±‚Ƃɂ‚¢‚Ä‚Í Win32OLE API ‚ɂ‚¢‚Ä�‘‚©‚ꂽ–{‚ð’T‚µ‚ēǂނª‹g�B
Win32OLE API ‚ɂ‚¢‚Ä’m‚ç‚È‚¯‚ê‚΃Tƒ“ƒvƒ‹ˆÈ�ã‚Ì‚±‚Æ‚ð‚·‚é‚͓̂‚¢�B
�ìŽÒ‚ÌŒfަ”‚ð’ʓǂµ‚½‚èŽg‚Á‚½‚è ruby-list ‚È‚Ç‚àŒŸ�õ‚·‚邯—Ç‚³‚»‚¤�B
0468ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¿‚Ȃ݂ɂ±‚ê‚Í bogo-sort ‚̂悤‚¾‚È
ttp://www.tuxedo.org/~esr/jargon/html/entry/bogo-sort.html
0469ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGinherited ‚̓†�[ƒU‚É‚æ‚éŒp�³‚ÌŽèŠÔ‚ðŒyŒ¸‚·‚é‚̂ɕ֗˜‚ ‚邿
ŽÀ—á‚Í•W�€“Y•t‚Ì singleton.rb ŽQ�Æ‚·‚邿‚낵
0470ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚Í’Š�ÛƒNƒ‰ƒX‚Æ‚¢‚¤ˆÓ–¡‚È‚ñ‚¾‚낤‚¯‚Ç�A
’Š�ÛƒNƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚Æ‚µ‚Ä‚³‚ç‚É’Š�ÛƒNƒ‰ƒX‚ð�ì‚é‚â‚Â‚à‚¢‚é‚©‚à�B
‚»‚Ì�ê�‡‚Í’è‹`‚µ‚È‚‚Ä‚à‚æ‚¢‚±‚Æ‚à‚ ‚é‚킯‚Å�A
�u‚±‚ê‚Í’Š�ÛƒNƒ‰ƒX‚¾‚æ�v‚Á‚Ä‚¢‚¤ˆÓŽu‚ð“`‚¦‚é‚̂ɂ͕¶�‘‚ª•K—v‚â‚낤‚Ë�B
>>463 ‚Ì•û–@‚𕹗p‚·‚é‚͈̂«‚‚͂Ȃ¢‚ÆŽv‚¤�B
0471ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0472ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG2‚‚ð‚Ç‚¤‚·‚é‚Ì‚©‚ª‚í‚©‚ç‚ñ‚ª�A
a=[1,2,3];[0,1].each{|b| p a.collect{|i| a.collect{|j| (i+96).chr + j.to_s}}.flatten.sort{|i,j| i[b] <=> j[b]}}
‚±‚¤‚¢‚¤Š´‚¶�H
0473456
NGNG‚¤‚¿‚Ì‚Í1.6Œn‚È‚ñ‚Å�AEnumerable#inject‚È‚¢‚Ì�i‚—
# ŽÀ‚ÍArrayƒNƒ‰ƒX‚É�×�H‚µ‚Ä�AinjectŒÄ‚΂ê‚é‰ñ�”�”‚¦‚Ä�A
# ƒ‚ƒ“ƒeƒJƒ‹ƒ�–@‚ÅŒvŽZ‚µ‚悤‚Æ‚µ‚½‚Ì‚Í�A‚Ý‚ñ‚Ȃɂ̓iƒCƒVƒ‡‚¾‚æ�B
0474ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒIƒuƒWƒFƒNƒg‚ð•Ï�”‚É‘ã“ü‚µ‚½‚è�A
ƒRƒ“ƒeƒi‚É“ü‚ê‚邯ŽQ�Æ‚³‚ê‚é‚Ì‚Å�AGC‚³‚ê‚È‚‚È‚é�B
‚»‚±‚ő傫‚ȃIƒuƒWƒFƒNƒg“™‚ð�ŸŽè‚ÉGC‚µ‚Ä—~‚µ‚¢‚ÉŽg‚¤‚Ì‚ª weakref�B
‚±‚ê‚ðŽg‚¤‚ÆŠÔ�ÚŽQ�ƂɂȂé‚̂ŕÏ�”‚âƒRƒ“ƒeƒi‚É“ü‚ê‚Ä‚à–{‘Ì‚ÍGC‚³‚ê‚é�B
•Ï�”‚©‚çWeakRefƒIƒuƒWƒFƒNƒg‚Ö‚ÌŽQ�Ƃ͎c‚邯‚Ç‚Ë�B
ŽÀ—p—á‚ÍRuby–{‚ðŽQ�Æ�BŽÀ‘•‚̉ð�à‚Í‚¿‚å‚Á‚Æ‘O‚Ì‚bƒ}ƒK‚É�Ú‚Á‚Ä‚½�B
Žg‚¢‚©‚½‚Í�«
ttp://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=weakref.rb
0475ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘g‚Ý�ž‚݃Nƒ‰ƒX‚ð‚킸‚©‚ɉü‘¢‚µ‚½‚»‚Ì�ꂵ‚Ì‚¬‚̃Nƒ‰ƒX‚ª—~‚µ‚¢�ê�‡‚É�C
Œp�³‚·‚é‚©ƒ‚ƒWƒ…�[ƒ‹‚Å extend ‚·‚é‚©‚Í’P‚É�D‚݂̖â‘è‚Å‚ ‚邱‚Æ‚à�‚È‚‚È‚¢�D
‚»‚ê‚©‚ç“ú�X‚ÌŽv‚¢‚‚«‚Å�ì‚é‚¿‚å‚Á‚Æ‚µ‚½�¬“¹‹ï‚Æ‚¢‚¤‚Ì‚à�CŽž‚ɂ͂ ‚è‚»‚¤‚¾�D
‚¿‚傤‚Ç >>468 ‚ð’‚߂Ă¢‚邯�CƒL�[‚ð•¡�”Žw’è‚Å‚«‚éƒnƒbƒVƒ…‚̂悤‚È‚à‚Ì‚ª‚ ‚ê‚Î
‘½•Ï�”�Ä‹AŠÖ�”‚ð‚»‚±‚»‚±Œø—¦—Ç‚‚«‚ê‚¢‚É’è‹`‚Å‚«‚邱‚ƂɋC‚ª‚‚¢‚½�D
class RecursiveFunction
def initialize(&block)
@f = block ; @memo = Hash.new { |s,k| x,*y = k ; s[k] = @f.call(x,*y) }
end
def [] (*a) @memo[a] end
def []=(*a) @memo[a] = a.pop end
end
A = RecursiveFunction.new{|m,n| # Ackermann function A[m,n]
if m == 0 then n+1 elsif n == 0 then A[m-1,1] else A[m-1,A[m,n-1]] end
}
def A(m,n) # straightforward version
if m == 0 then n+1 elsif n == 0 then A(m-1,1) else A(m-1,A(m,n-1)) end
end
p A[3,4], A[3,8]
p A(3,4), A(3,8)
‚±‚¤‚¢‚¤‚à‚Ì‚ðŽv‚¢‚‚‹@‰ï‚Í•p”ɂɂ ‚é‚킯‚ł͂Ȃ¢‚ª�C’N‚Å‚à‚½‚܂ɂ͂ ‚邾‚낤�D
‚Ü‚½‚Ȃɂ©‚̃vƒ�ƒWƒFƒNƒg‚Ì�‰Šú‚Ì’iŠK‚ł̓�ƒ‚‚ð‚Æ‚è‚È‚ª‚ç‚¢‚‚‚à‚̃Nƒ‰ƒX‚ð
�‘‚¢‚Ă͎̂Ă邱‚Æ‚ðŒJ‚è•Ô‚·‚̂ł͂Ȃ©‚낤‚©�D‚»‚ꂪ“TŒ^“I‚È�ÝŒv‰ß’ö‚̂͂¸‚¾�D
Œ‹‹Ç‚ǂꂂ炢ƒNƒ‰ƒX‚ð�ì‚é‚©‚Í‚»‚Ì�l‚Ìšn�D‚â’u‚©‚ê‚Ä‚¢‚é�󋵂ɂæ‚邯Žv‚í‚ê‚é�D
0476460
NGNG> abstract method
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/15841
‚¨�`�A�I‚¢‚±‚ÆŽÀ‘•‚·‚é�l‚ª‚¢‚é‚à‚ñ‚Å‚·‚Ë‚¥
‚¿‚Ȃ݂ɂ±‚ñ‚ÈŠ´‚¶‚ÅŽg‚¦‚é‚»‚¤‚Å‚·�B
class A
define_abstract_method :foo
define_abstract_method :bar
define_abstract_method :baz
end
p A.abstract? #=> true
p A.abstract_methods #=> [:foo, :bar, :baz]
# define_abstract_method ‚ª‰Â•Ï’·ˆø�”‚ɂȂÁ‚Ä‚Ä‚à‚¢‚¢‚̂ɂÈ�B
0477ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG[ [ 1, "“Œ‹ž‘¾˜Y", "“Œ‹ž" ],
[ 2, "�ç—tŽŸ˜Y", "�ç—t" ],
[ 3, "ŽR—œŽO˜Y", "ŽR—œ" ],
].each {|id , name , born| print id,"\t",name,"\t",born,"\n"}
‚Ì�o—ÍŒ‹‰Ê‚Ì
1 “Œ‹ž‘¾˜Y “Œ‹ž
2 �ç—tŽŸ˜Y �ç—t
3 ŽR—œŽO˜Y ŽR—œ
‚É
cols = [ "ID", "Name", "Born" ]‚Å•\‘è‚ð‚‚¯‚½‚¢
ID�@�@�@Name�@�@�@Born
1 “Œ‹ž‘¾˜Y “Œ‹ž
‚Ç‚¤‚â‚ñ‚̂ł·‚©�H
0478ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG[ [ 1, "“Œ‹ž‘¾˜Y", "“Œ‹ž" ],
[ 2, "�ç—tŽŸ˜Y", "�ç—t" ],
[ 3, "ŽR—œŽO˜Y", "ŽR—œ" ],
].unshift(cols).each{|id , name ˆÈ‰º“¯•¶
0479ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1000000000000000000000000
$ ruby -e "p ((1000**8).type)"
Bignum
$ ruby -v
ruby 1.6.7 (2002-03-19) [i386-linux]
�Å�‰‚Ì .type ‚ªŒø‚¢‚ĂȂ¢‚̂͂Ȃñ‚Å�H
0480ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGp (1000**8) #=> nil
nil.type #=> NilClass
1.7 ‚ł͎d—l•Ï�X‚³‚ê‚Ä�A
�ã‚Ì�‘‚«•û‚Å‚à‰º‚Æ“¯‚¶Œ‹‰Ê‚ɂȂÁ‚Ä‚¢‚é�B
0482ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG$ ruby -e 'p(1).type'
1
-e:1: warning: Object#type is deprecated; use Object#class
$ ruby -e 'p(1).class'
1
$
0483ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�ìŽÒ‚³‚ñ‚Í�uruby–{�v‚Å‚à—áŠO‚̉ð�à‚É’�—Í‚³‚ê‚Ă܂µ‚½‚ª�A
�@�u‚±‚¢‚‚Ÿ¤‚·‚Á‚«‚è�‘‚¯‚邿�v
‚ÆŽv‚¦‚邿‚¤‚ȃTƒ“ƒvƒ‹‚Á‚ĉ½‚©‚²‘¶’m‚ ‚è‚Ü‚¹‚ñ�H
0484ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�EƒfƒtƒHƒ‹ƒg‚Å throw
�EŽÀ�Û‚É—áŠO‚ª�オ‚é‚܂łǂ̗áŠO‚ª‚ ‚ª‚é‚Ì‚©‚í‚©‚ç‚È‚¢
‚‚ç‚¢‚Å‚»‚¤•Ï‚í‚è‚È‚¢‚悤‚È�B
0485ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚Æ�ARuby ‚¾‚Æ—áŠO‚Í raise ‚Æ rescue ‚̃yƒA‚Å‚â‚é‚ñ‚¾‚¯‚Ç�A
‚»‚ê‚Æ‚Í•Ê‚É catch ‚Æ throw ‚à—pˆÓ‚³‚ê‚Ä‚é�B
0486ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWin32‚à’·‚¢‚¯‚Ç�c�c
0487486
NGNG0488ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0489ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGSmalltalk ‚ð‚¢‚¶‚Á‚Ä‚¢‚邯е‚ê‚邯Žv‚í‚ê�B
0490rubyŽn‚ß‚æ‚Á‚©‚È�[
NGNG‚È‚ç‚Î�A
A�¨‚`
B�¨‚a
‚̂悤‚É‘SŠp‰p�”Žš‚É’uŠ·‚·‚é‹@”\‚Á‚ÄŽ�‚Á‚Ä‚é‚ñ‚Å‚·‚©‚Ÿ�H
‚»‚ꂪ‚Å‚«‚é‚È‚çrubyŽn‚ß‚æ‚Á‚©‚È�[
0491ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚ºSmalltalk�H Java‚ÅŠµ‚ê‚邯Žv‚í‚ê�B
>>490
‚µ‚¿‚á‚¢‚¯‚È‚¢‚Á‚Ä‚±‚Ƃ͂Ȃ¢‚¯‚Ç�AŒ¾Œê‚Ì‹@”\‚ł͂Ȃ‚Ä‚»‚¤‚¢‚¤‚̂̓‰ƒCƒuƒ‰ƒŠ‚ÅŽÀ‘•‚·‚é�B
•¶Žš—ñ‘€�삪‚Å‚«‚ê‚΂ǂ̌¾Œê‚Å‚à‚â‚ê‚΂ł«‚邿�B
0492ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby/KAKASI‚‚©‚Á‚Ä‚‚¾‚³‚Ÿ‚¢
require "kakasi"
puts Kakasi::kakasi('-osjis -aE',gets)
ƒIƒvƒVƒ‡ƒ“‚ÍKAKASI‚̃hƒLƒ…ƒ�ƒ“ƒg‚ð“Ç‚ñ‚ł˂¥‚¥
0493999
NGNG"z".downto("a")‚͂Ȃ¢‚͉̂½ŒÌ‚Å‚·‚©�H
0494999
NGNG‚ ‚è‚Ü‚·‚½
0495ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG•Ï�X‚µ‚ĂȂ¢‚Ì‚É1‚ɂȂé‚͎̂d—l‚Å‚·‚©?
0496ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0497ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby-list‚©BTS‚ ‚½‚è‚Å�u‚¢‚½•û‚ª‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚Ì‚¤
ttp://www.ruby-lang.org/cgi-bin/ruby-bugs-ja
0498ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚Í‘S‘R’m‚ç‚È‚¢‚¯‚Ç�AŒ‹�\‚·‚ñ‚È‚è“ǂ߂é�B
C++‚Æ�AŽ—‚Ä‚¢‚é�B‚½‚¾�AC++‚æ‚è‚à‚·‚²‚’x‚¢�B
ŽQ�Æ : http://pc3.2ch.net/test/read.cgi/tech/1018657457/l50
Ruby�B‰½‚Ì‚½‚߂̌¾Œê‚È‚ñ‚¾‚©�B
0499ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0500ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> Ruby�B‰½‚Ì‚½‚߂̌¾Œê‚È‚ñ‚¾‚©�B
�ìŽÒ‚ª�ì‚Á‚Ă݂½‚©‚Á‚½‚ç�BƒIƒuƒWƒFƒNƒgŽwŒüƒvƒ�ƒOƒ‰ƒ~ƒ“ƒO‚ð�L‚߂邽‚ß�B
“ǂ݂₷‚¢‚̂͂»‚̃R�[ƒh‚ð�‘‚¢‚½�l‚Ì‚¨‚©‚°‚à‘å‚«‚¢‚ÆŽv‚¤�B
Ruby‚É‚µ‚ëPython‚É‚µ‚ë‚»‚ê‚Å�‘‚¯‚Γǂ݂₷‚‚È‚é‚킯‚¶‚á‚È‚¢�B
0501ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒlƒ^‚ÅŒ¾‚Á‚Ä‚¢‚é‚ñ‚¾‚낤‚¯‚Ç�A’x‚¢‚ÉŒˆ‚Ü‚Á‚Ă邿‚È‚ �B
‚à‚µ“¯“™‚¾‚Á‚½‚ç C++ ‚±‚»‰½‚Ì‚½‚߂̌¾Œê‚È‚ñ‚¾‚©‚í‚©‚ç‚ñ�B
0502ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGPerl ‚â Ruby ‚Å‚´‚Á‚‚è�‘‚¢‚Ä“®‚‚à‚Ì‚ª‚Å‚«‚½‚ç
C/C++ ‚É‚·‚邯‚¢‚¤ƒvƒ�ƒgƒ^ƒCƒsƒ“ƒOŠJ”�B
0503ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ç‚ñ‚ȃvƒ�ƒOƒ‰ƒ€‚à‘�‚‚·‚é•K—v‚ª‚ ‚é‚킯‚¶‚á‚È‚¢‚µ‚È�B
‚»‚ê‚É‘�‚‚µ‚½‚¢‚Æ‚±‚¾‚¯C‚Å�‘‚¢‚Ä‚à‚¢‚¢‚µ�B
‚Å‚àƒXƒNƒŠƒvƒgŒ¾Œê‚̓Aƒ‹ƒSƒŠƒYƒ€‚Ì�«”\•]‰¿‚É‚Í
Žg‚¦‚È‚¢‚±‚Ƃ͂ ‚é‚©‚à�BƒzƒbƒgƒXƒ|ƒbƒgˆÈŠO‚ÅŽžŠÔ‚ð
�H‚Á‚Ä‚é�ê�‡‚à‚ ‚é�B‘ª‚è•û‚ɂ͋C‚ð‚‚¯‚ê‚Á‚Æ‚±‚Æ‚©‚È�B
0504477
NGNG‚Æ1 ,3,13‚ª‚ ‚邯‚«�A
1_ID 1
1_Name 3
1_Born 13
2_ID 1
2_Name 3
2_Born 13
¥
¥
¥
11_ID 1
11_Name 3
11_Born 13
‚Æ11‚܂ŌJ‚è•Ô‚·‚É‚Í�A‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©�B
“x�X‚·‚ñ‚Ü‚¹‚ñ�B
0505ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚Ì‚‚ç‚¢Ž©•ª‚Å�l‚¦‚ç‚ê‚ñ‚Ì‚©�A‚¨‚Ü‚¦Šo‚¦‚é‚‚à‚è‚È‚¢‚¾‚낤
‚ÆŽv‚¢‚È‚ª‚ç
hoge = [1,3,13].map {|i| "_#{cols.shift.ljust(6)}#{i}" }
11.times {|i| hoge.each {|j| puts "#{i+1}#{j}" } }
0506ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹M•û‚Í—D‚µ‚¢ƒCƒ“ƒ^�[ƒlƒbƒg‚Å‚·‚Ë�B
0507ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0508ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhoge = cols.dup
hoge = [1,3,13].map {|i| "_#{hoge.shift.ljust(6)}#{i}" }
11.times {|i| hoge.each {|j| puts "#{i+1}#{j}" } }
‚Æ‚Å‚à‚µ‚Ä‚¨‚¯‚æ�B‚±‚ê‚Í‚±‚ꂜ˂Á�ž‚݂ǂ±‚낪‚ ‚é
‚킯‚¾‚ª‚È�BƒIƒŒ‚à‚È‚©‚È‚©‚Ì—D‚µ‚¢ƒCƒ“ƒ^�[ƒlƒbƒg‚¾
‚낤�H
0509ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGsprintf("_%s%d", str.ljust(6), i) ‚ª
sprintf("_%<6s%d", str, i) ‚Æ�‘‚¯‚邯‚¢‚¤‚̂͂ǂ¤‚¾‚낤
‚Æ�A‚Ó‚ÆŽv‚Á‚½�Bcjust ‚Í > ‚Ë�B%s ŒÀ’è‚©‚È�B
0510ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚ê‚Ε֗˜‚©‚à‚µ‚ê‚È‚¢‚¯‚ǂȂ‚Ä‚à•Ê‚É�¢‚ç‚È‚¢‚©‚È
0511ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@•‰�@‚¯�@‚½
‹C•ª‚É‚È‚é‚Æ‚«‚ª‚ ‚é�B
0512ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0513ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGmodule EachByteAddition
def each_byte_with_index
cnt = 0
each_byte {|v| yield(v,cnt) ; cnt += 1 }
end
end
‚±‚¤‚¢‚¤‚Ì�ì‚Á‚Ä‚¨‚¢‚Ä
[ String, IO ].each {|k| k.module_eval { include EachByteAddition }}
‚Æ‚©‚·‚ê‚Î�d
0514ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚¤‚¢‚¤‚Ì‚ð�ê‚ ‚½‚è“I‚ɂȂñ‚Æ‚©‚·‚é‚ñ‚łȂ‚Ä�A
Šù‘¶‚̃CƒeƒŒ�[ƒ^‚ð‚»‚Ì�ê‚Å‘g‚Ý�‡‚킹‚ç‚ê‚é˜g‘g‚ª‚æ‚¢‚È‚Æ
0515ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGNaN
irb(main):002:0> require 'narray'
true
irb(main):003:0> Math.log(-1.0)
Complex(0.0, 3.141592654)
‚È‚ñ‚Å‚¶‚á�H
0516ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ìx‚Ƀ΂ð‘ã“ü‚·‚é‚Î�H
0517ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGnarray ‚¶‚á‚È‚‚Ä•W�€‚Ì complex.rb ‚ª’è‹`‚µ‚Ä‚é�B
0518515
NGNG‚»‚ê‚ðŒvŽZ‚·‚邯 NaN ‚Á‚Ă̂ɂȂé‚Ì�H
‚Â�[‚©�Acomplex ‚ª‰½‚Ȃ̂©‘S‘R‚í‚©‚Á‚Ă܂¹‚ñ(’p
‚ñ‚Å�A‚È‚ñ‚Å narray ‚ð“ü‚ê‚Ä Math ‚Ì‹““®‚ª•Ï‚Á‚½‚Ì‚©‚Æ
•sŽv‹c‚ÉŽv‚Á‚Ä‚½‚ç“à•”‚Å require 'complex' ‚³‚ꂽ‚©‚炾‚Á‚½
‚¨‘›‚ª‚¹‚µ‚Ü‚·‚½
0519ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG•s’è‚â–¢’è‹`‚ð•\‚·‚½‚ß‚É IEEE754 ‚Å‹K’肳‚ꂽ•‚“®�¬�”“_�”‚Ì“Á•ʂȒl�B
exp(x) = -1.0 ‚ð–ž‚½‚· x ‚ÍŽÀ�”‚ɂ͑¶�Ý‚µ‚È‚¢‚̂Šlog(-1.0) ‚Í
–¢’è‹`‚Å‚ ‚è NaN ‚ɂȂ邪�A•¡‘f�”‚È‚ç exp(ƒÎi) = -1.0 ‚ª–ž‚½‚³‚ê‚é�B
�Ú‚µ‚‚¢‚¦‚Ε¡‘f�”‚Ì‘Î�”‚͈êˆÓ‚ɂ͒è‚Ü‚ç‚È‚¢(exp(3ƒÎi) = -1.0“™)�B
0.0/0.0 #=> NaN
1.0/0.0 #=> Infinity
1.0/0.0 - 1.0/0.0 #=> NaN
0.0/0.0 == 0.0/0.0 #=> false
0520ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGiterate ‚·‚é’PˆÊ‚É byte ‚ª‚È‚¢ƒIƒuƒWƒFƒNƒg‚Í‘½‚¢‚ÆŽv‚¤‚¯‚Ç�B
0521ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG% grep -r 'def \+each_' src/ruby/lib
% ruby -e 'ObjectSpace.each_object{|o|
Module === o and
puts o.instance_methods.map{|m| o.name+"#"+m}.grep(/each_/),
o.singleton_methods.map{|m| o.name+"::"+m}.grep(/each_/)}'
0522ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGeach Œnƒ�ƒ\ƒbƒh‚»‚ꂼ‚ê‚É _with_index ‚̃�ƒ\ƒbƒh‚à‚Ù‚µ‚¢‚Æ‚¢‚¤‚±‚Æ‚©�B
0523ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> zlib ‚̃‰ƒbƒpƒ‰ƒCƒuƒ‰ƒŠ‚Ì ruby/zlib ‚Æ�A
> ruby/zlib ‚ðŽg‚Á‚½ zip ƒ‰ƒCƒuƒ‰ƒŠ‚Ì ruby-zip ‚Í‚ ‚邿�B
> ruby-zip ‚Í pure ruby�B
Œ‹‹Ç‚Ç‚Á‚¿‚à pure ruby ‚¶‚á‚È‚¢‚â‚ñ�B�izlib Žg‚¤‚ñ‚Å‚å�H�j
0524ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ»�ó‚𓚂¦‚½‚ñ‚¾‚¯‚Ç�B
ˆ³�kƒ‹�[ƒ`ƒ“‚ƃtƒ@ƒCƒ‹ƒtƒH�[ƒ}ƒbƒg‚̂ǂ¿‚ç‚ðŽw‚µ‚Ä‚¢‚é‚Ì‚©žB–†‚¾‚Á‚½‚µ�B
0525ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ‚»‚¤‚¢‚â ljust ‚Á‚ĂƂ«‚Ç‚«Žg‚¤‚í‚è‚ɂ߂ñ‚Ç‚¢‚©‚ç�A
> sprintf("_%s%d", str.ljust(6), i) ‚ª
> sprintf("_%<6s%d", str, i) ‚Æ�‘‚¯‚邯‚¢‚¤‚̂͂ǂ¤‚¾‚낤
sprintf("_%-6s%d", str, i)
ŽèŽ�‚¿‚ÌC‚̃‰ƒCƒuƒ‰ƒŠ‚̃hƒLƒ…ƒ�ƒ“ƒg‚ð“Ç‚ñ‚ł݂ë�B
> ‚Æ�A‚Ó‚ÆŽv‚Á‚½�Bcjust ‚Í > ‚Ë�B%s ŒÀ’è‚©‚È�B
rjust ?
0526ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’m‚ç‚ñ‚©‚Á‚½‚æ�B2.9.1 BSD ‚ɂ͂·‚łɂ ‚Á‚½‚炵‚¢�B1983”N‚¾�cŸT
‚à‚µ‚©‚µ‚ÄK&R1‚Ì� ‚©‚ç‚ ‚Á‚½‚Ì‚©
> rjust ?
‚µ‚Ü‚Á‚½ center ‚̂‚à‚肾‚Á‚½�B
0527ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚È‚½‚Í—ç‹V�³‚µ‚¢ƒCƒ“ƒ^�[ƒlƒbƒg‚Å‚·‚Ë
0528ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚³‚©C‚Å‚¢‚¿‚¢‚¿strncpy()‚Æ‚©memset()‚Æ‚©Žg‚Á‚Ä‚½‚ñ‚¶‚á�c(ß„Dß;)
> > rjust ?
> ‚µ‚Ü‚Á‚½ center ‚̂‚à‚肾‚Á‚½�B
‚½‚µ‚©‚É’†‰›‘µ‚¦‚Íprintf‚ɂ͂Ȃ¢‚È�B‚Å‚à%>s‚͂₾‚È�B
0529ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ‚Ü‚³‚©C‚Å‚¢‚¿‚¢‚¿strncpy()‚Æ‚©memset()‚Æ‚©Žg‚Á‚Ä‚½‚ñ‚¶‚á�c(ß„Dß;)
‚»‚Ì’Ê‚è�B�À‚Á‚Ä‚«‚Ü‚·�B
> ‚½‚µ‚©‚É’†‰›‘µ‚¦‚Íprintf‚ɂ͂Ȃ¢‚È�B‚Å‚à%>s‚͂₾‚È�B
’†‰›‚»‚낦‚Í–Å‘½‚É‚â‚ç‚È‚¢‚©‚ç‚È‚‚Ä‚à‚¢‚¢‚â�B
0530ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚Å‚ ‚¿‚±‚¿‚ÅŽ¿–₵‚Ü‚‚Á‚Ä‚é‚炵‚¢�B
‚»‚ñ‚È‚ñ‚Å�o”łł«‚é‚Ì‚©�H
�o”ÅŽÐ‚à‰½�l‚¦‚Ä‚é‚ñ‚¾‚©�B
0531ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGCGI‚Ì–{�‘‚±‚¤‚Á‚Ă̂ÉCGI.RB‚Ì�ìŽÒ‚à‚µ‚ç‚ñ‚Æ‚Í�B
0532ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ’†‰›‚»‚낦‚Í–Å‘½‚É‚â‚ç‚È‚¢‚©‚ç‚È‚‚Ä‚à‚¢‚¢‚â�B
‚È‚ñ‚¾�B%^d‚Á‚Ä�ì‚Á‚Ă݂½‚Ì‚É�B
0533ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤�[‚ñ�A‚Â�[‚©•�‚Æ‹ï‚ÌŠï‹ô‚ªˆá‚¤‚Æ1ƒJƒ‰ƒ€•ª‚̉E�¶‚ª•s’肾‚µ�B
‚Ü‚ ‚Ç‚Á‚¿‚©‚Á‚Ä‚±‚ƂɌˆ‚ß‚é‚킯‚¾‚¯‚Ç�B
0534ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚Í’P�ƒ‚É�¶‚ªwidth/2‚É‚µ‚½‚ñ‚Å‚â‚â�¶‚æ‚è�B
0535ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGbegin-base64 644 centering.diff.gz
H4sIAAAAAAACA61W+2/iRhD+2fwVc6lK7LOd2OYRwCW6E+UuqCGJSHKVepdG
YOzEKgFkE+5yDf97Z2a9fvAoJ7WWMLuz387OfPNY96Zj/1sL4nkUThfBkVdq
//enNOhcQxBO/BYce8v4OHoevRzHkZcM5FHGshT5iyj0l+H0ASL8i8PZFOwj
p14ah0EA5jOYDphzMCMS5ow0TTObKXYdLr0FOJblgF1pVastuwmmhY/CynRd
z6MbGdpqtCynZSXo0rt3YNYd4wR0fDcBp5H/NFv693H4ML0fhYtYjReRAaNh
7Gsl+GnsB+HUhw+/9369OYOKkxNdDbodgHq1pKeiTvfipjsA22mUIEN2zrqd
39SJBuMZ/P2lZAI+Xx+RPFBHE38KOtDiaRtGcfhdI4hOEHQGfx4h2oRwE3lx
a4LI7waFhm/bDu6gDbD6wn7bVtOogm7btoFU73N9JQ+ycJL5eP6hd36ufg3H
i0fpUGotJsSEjLWkqWEAajAZPsRQluSghRImtRyD46YTsy3UuKtEhz+JfVb0
JlPV713cXmuoCtZ0ZXrIioKKUeQP/yoYxltPwUI96MjoOfhMnOr6HW4+hENX
EmCaDNVYX54WPaNlsIuWILHoxw5KvPi3g7qCRxU1GLD9QEFUOWW8XEYZ4jX4
RfKjiTxT8mFT0xgAo0VkCNXv9vuXn7pqObWd99wZkEpw7D0OMX3EVt725D/F
/kLNY9BdAxI6CbIRdhLmyZQR26QEPr0/v+2WIBrdB/dJ8avD6MEzAN9LTeR8
w6Kcd6xqUu27wKDQKQ+zxQyoZb24lPQo87Aa4PDPwxbPAEQOvrZlPruJfK7r
cphXorNiocRCJbCm5I/u4NJlS526Zdg2mtpoGnZtj60KcQ0eGWkqyvbqoJVc
v0iSi/OQlpSr2+sz9QAODLA1l3ViDlzc9p3exY26HGJLKoP1LQhcQjO47Aks
zncopfOKenVhXmocN1JMPlogdKLBlXPRLJPYS2G+6aTCYh15qXywDl7Ri3tA
emrBHYaIwMh/0SxEXBonBl4/esWxjMa+sChF80kiCML8RlOZuny4ylkr46Vc
vHifacoVZbNtpDtWPGI3lSJVZABWoTd/KVTh4Ppm0Lv4SP1eM0/n1PWpagVe
XCxr9has/d+MHWwYmxAPEksRqDYryLxesxuGfbIvAmTsPPI9bHXc8XicOAO5
aJDcXSuessr1+JoGBRtn/Nm6gzfow9FhkrW0YVO6eQdKJ4opYW7j7dSSzG0h
TirfepcyjfJM4Rw1bRanvorOKhWt5GD9Zl13f6v6vGr2cl3r+tXK+B+7X7Ow
A2UIxb5m1Ywaxr7SNPb2RHn6fBZj3GcxJfFcBn61u1FmYc3WVLH4KplmVHKG
6L0yPCDsxHsG7azbVWNvioqEmPr+WLgsYfkKDXCMb2rDnDOyKLFicZSDiv5F
4dmxlH4wpJ8LLJYKmZ0dra9uM/n1mi3ID54W93ihP89Vtg59YroSvQbXlCY+
OQvZen31vtPV4C3uwu/0lDdzA5hdDsVPGQ4IL2YBgXY7twFSFtm0g5/HB5m7
QGWVYw9nKP0HfSB1xRgNAAA=
====
0536ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚·‚°�[�B‚¹‚Á‚©‚‚¾‚©‚ç commit ·ÎÞÝ
0537ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚Â‚à‚Æ‚³‚ñ‚É‚©‚¯‚ ‚Á‚Ä‚‚ê�B
0538ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒgƒ€ƒ\�[ƒ„‚̂ӂè‚ð‚µ‚Ä—v‹�‚µ‚Ä‚‚ê‚é�l•å�W
0539ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚‚Ä'|'‚¾‚Á‚½�B‹L‰¯ˆá‚¢�B
‚µ‚©‚µ�Aperl‚Ìwrite‚Á‚ÄŽg‚Á‚½‚±‚ƂȂ¢‚È‚Ÿ�B
0540ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGvim‚Ì:rubydo‚ȂǂÅ�A�u‚Ђ炪‚ÈŽO•¶Žš‚Ì�s‚¾‚¯�Á‚µ‚½‚¢�v‚Æ‚«‚Á‚Ä
:rubyd gsub(/^\S{,3}$/,"")
Œ©‚½‚¢‚ÈŠ´‚¶‚Å�A�o—ˆ‚È‚¢‚ñ‚Å‚µ‚傤‚©�H$KCODE="e"‚Ý‚½‚¢‚È‚à‚Ì‚ª•K—v‚Å‚·‚©�H
0541ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG/^\S{,3}$/ ‚ÍEUC-JP”ñ‹ó”’�‚�X3•¶Žš‚¾‚¯‚©‚ç‚È‚é�s‚Ƀ}ƒbƒ`ŽC‚é
0542ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG/^\S{,3}$/e ‚ÍEUC-JP”ñ‹ó”’�‚�X3•¶Žš‚¾‚¯‚©‚ç‚È‚é�s‚Ƀ}ƒbƒ`ŽC‚é
0543540
NGNG‚È‚Ê�H
‚¶‚á‚ �A’P�ƒ‚É
:rubyd gsub(/^[‚ -‚ñ]{,3}$/,"")
‚Á‚Ä‚¢‚¤Ž®‚ªƒRƒ“ƒpƒCƒ‹‚³‚ê‚邿‚¤‚È
‚’‚•‚‚‚™‚ÌŠg’£‹@”\‚Á‚Ä‚²‘¶’m‚Å‚·‚©�H
’m‚Á‚Ä‚½‚狳‚¦‚Ä‚‚¾‚³‚¢�BŒäŠè‚¢‚µ‚Ü‚·�B�¢‚Á‚Ä‚¢‚Ü‚·�B
0544ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG:ruby $KCODE='e'
:rubyd gsub(/^[‚ -‚ñ]{,3}$/,"")
0545ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0546ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0547ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG\x0D\x0A
‚Á‚ĉ½‚ð•\‚·ƒR�[ƒh‚©’¼‚®‚ɂ킩‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ‚©�H
0548ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0549ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0550perl�~–[
NGNGrubyƒo�[ƒWƒ‡ƒ“·ÎÞÝÇ�B
------------
$coln=3;
while(<>) {
chop;
if ($. % $coln) {
s/\r//;
printf "%s\t",$_;
}
else {
printf "%s\n",$_;
}
}
print "\n";
0551ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGwhile gets
chop;
if ($. % coln != 0)
sub(/\r/,"");
printf "%s\t",$_;
else
printf "%s\n",$_;
end
end
print "\n";
0552ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0553ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGwarning: parenthesize argument(s) for future version
‚Á‚Ă̂ª‚¢‚¿‚¢‚¿ƒEƒUƒC‚ñ‚Å‚·‚¯‚Ç�A‚±‚̃�ƒbƒZ�[ƒW�Á‚¹‚Ü‚·‚©�H
0554ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ‰ƒCƒuƒ‰ƒŠ‚̃\�[ƒX‚𒼂·‚©�A
Ruby ‚̃\�[ƒX‚ð‚¢‚¶‚Á‚ÄŒx��‚ð�o‚È‚‚·‚é�B
0555ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–{“–‚É—�‰ð‚µ‚½�H‚»‚ÌŒx��‚Ì‚¢‚¢‚½‚¢‚±‚Æ‚Í�A
�u�«—ˆ‚̃o�[ƒWƒ‡ƒ“‚ł͓®�삪•Ï�X‚³‚ê‚é‚©‚ç‚¢‚܂̂¤‚¿‚ɃJƒbƒR‚ň͂ñ‚Ç‚¯�v
‚Á‚ĈӖ¡‚È‚ñ‚¾‚¯‚Ç�B‚»‚ꂪ•ª‚©‚Á‚Ä‚¢‚é‚È‚ç554�B
�l‚Ì�‘‚¢‚½ƒ‰ƒCƒuƒ‰ƒŠ‚ªŒ´ˆö‚È‚ç�ìŽÒ‚É–â‚¢�‡‚킹‚Ă݂é�B
‚»‚Ì�ìŽÒ‚̎肪‹ó‚¢‚½‚牽‚Æ‚©‚µ‚Ä‚‚ê‚é‚©‚à‚µ‚ê‚È‚¢�B
0556ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ªŽŠ•Ÿ‚ÌŽžŠÔ‚ƂȂè‚‚‚ ‚é�B
‚¢‚‚à‚̂悤‚ÉŽdŽ–ƒTƒ{‚è‚‚Â�ARuby�G‚肾‚·‚Ƃǂ¤‚àŒã‚ë‚ß‚½‚‚Ä�A—JŸT‚ɂȂé‚Ì‚Å
‚¢‚©‚ñ‚ª�c�c
0557ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ý‚½‚¢‚È‚à‚Ì‚ðŽæ“¾‚·‚é‚ɂ͂ǂ¤‚¢‚¤•û–@‚ª‚ ‚è‚Ü‚·‚©�H
ruby-talk/index.shtml#ruby_talk‚©‚烊ƒ“ƒN‚ð‚½‚Ç‚é‚Á‚Ă₂ł·�B
ƒe�[ƒuƒ‹‚Ì
<TBODY>
<TR>
<TD align=right><A href="53601-53800.shtml#latest">53601-53800</A></TD>
<TD align=right><A href="1-200.shtml">1-200</A></TD>
<TD align=right><A href="201-400.shtml">201-400</A>
‚ð�³‹K•\Œ»‚Å‚½‚ǂ邵‚©‚È‚¢‚Ì‚©‚È�H‰½‚©‚¢‚¢ˆÄ‚ ‚è‚Ü‚¹‚ñ‚©�H
0558553
NGNG>‚»‚Ì�ìŽÒ‚̎肪‹ó‚¢‚½‚牽‚Æ‚©‚µ‚Ä‚‚ê‚é‚©‚à‚µ‚ê‚È‚¢�B
‚¢‚â�A‚»‚ñ‚ȑ傰‚³‚È‚±‚Æ‚¶‚á‚È‚‚Ăł·‚Ë�A
ruby‚̃o�[ƒWƒ‡ƒiƒbƒv‚µ‚Ä‚©‚ç�A
emacs‚Ìcall-process‚ÆrubyƒXƒNƒŠƒvƒg‚ª‚¨‚©‚µ‚‚È‚Á‚½‚Ì‚Å�A
‚¢‚¿‚¢‚¿�C�³ƒEƒUƒC‚ñ‚Å‚·�B
‚ß‚ñ‚Ç�[�B
0559ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘Š‘ÎURL‚¾‚©‚çURI.extract‚ł͂Ƃê‚È‚¢‚Ë�B‚Æ‚È‚é‚Æ�³‹K•\Œ»‚ª“TŒ^“I‚È‰ðŒˆ‚©‚È�B
HTML‚̉ð�̓c�[ƒ‹‚ÍRAA‚É‚¢‚‚‚©“]‚ª‚Á‚Ă邩‚ç‚»‚ê‚ðŽg‚¤‚Æ‚©�B
0560ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚Ì�Û�A‹C�‡‚¢‚ňê‹C‚ɕЕt‚¯‚é‚Ì‚à‚¢‚¢‚©‚à‚Ë�B‚±‚ñ‚ÈŠ´‚¶‚Å’T‚¹‚é‚Í‚¸�B
�” /\.rb\z/ ? $_ = `#$OPT_i -c #$_` : next ‚Å‚à•¶‹å‚¢‚¤‚Ì‚©�E�E�EŸT
require "find"
require "getopts"
require "rbconfig"
getopts("", "i:#{Config::CONFIG['RUBY_INSTALL_NAME']}")
ARGV.each do |your_lib_dir|
Find.find(your_lib_dir) do |rb|
if /\.rb\z/ =~ rb then msg = `#$OPT_i -c #{rb}` else next end
puts msg if /Syntax OK/ !~ msg
end
end
0561558
NGNG‰½‚É‚à‚¨‚«‚Ü‚¹‚ñ‚Å‚µ‚½�B
0562ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¶‚á�A‚à‚¤‚È‚¢‚ñ‚¶‚á‚È‚¢�H
”O‚Ì‚½‚ߊm”F‚µ‚Æ‚‚ƈø�”‚̓‰ƒCƒuƒ‰ƒŠ‚Ì‚ ‚éƒfƒBƒŒƒNƒgƒŠ–¼‚Ë�B
% ruby-1.7 560.rb /home/your/ruby/dir/yourscript/
0563ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ruby‚̃o�[ƒWƒ‡ƒiƒbƒv‚µ‚Ä‚©‚ç�A
> emacs‚Ìcall-process‚ÆrubyƒXƒNƒŠƒvƒg‚ª‚¨‚©‚µ‚‚È‚Á‚½‚Ì‚Å�A
ruby-mode.el‚Å‚ÍObject#type‚ÍŽg‚Á‚ĂȂ¢‚ÆŽv‚¤‚ª�B
> >>560
‚»‚ê‚ňø‚Á‚©‚©‚é‚Ì‚Ísyntax error‚¾‚낤�BSTDERR�E‚Á‚Ä/\#type/‚Æ‚©‚Ń}ƒb
ƒ`‚³‚¹‚È‚¢‚Æ�B
>>562
ˆê‰ž1.7“Y•t‚̂͑S•”�C�³‚µ‚½‚Í‚¸�B
0565558
NGNGmigemo
rdindex
‚ð�C�³‚µ‚Ü‚µ‚½�B
ˆá‚¤‰ðŒˆ–@‚à‚ ‚Á‚½‚±‚à‚µ‚ê‚Ü‚¹‚ñ‚ª�c�c�D
0566ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚T‚R‚T‚Á‚Ăǂ¤‚â‚Á‚ăfƒR�[ƒh‚·‚é‚ñ‚Å‚·‚©�H
�o—ˆ‚È‚©‚Á‚½�B
0567562
NGNGbegin-base64 644 centering.diff.gz ‚ÌŽŸ‚©‚ç ==== ‚Ì‘O‚܂łð
ƒtƒ@ƒCƒ‹ foo.txt ‚ɕۑ¶‚µˆÈ‰º‚ðŽÀ�s‚·‚é�B
ruby -e 'print ARGF.read.unpack("m*")[0]' foo.txt > centering.diff.gz
gzip -d centering.diff.gz
‚±‚̃pƒbƒ`‚ª—¬‚ê‚½Žž‚ÌCVS�æ’[‚ɂ͓–‚Ă邱‚Æ‚ª‚Å‚«‚½�B�¡‚ÍŠm”F‚µ‚ĂȂ¢�B
0568ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ‚±‚̃pƒbƒ`‚ª—¬‚ê‚½Žž‚ÌCVS�æ’[‚ɂ͓–‚Ă邱‚Æ‚ª‚Å‚«‚½�B�¡‚ÍŠm”F‚µ‚ĂȂ¢�B
sprintf.c‚͕ςí‚Á‚ĂȂ¢‚©‚ç‘å�ä•v�B
0569ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ�ƒ‹ƒ}ƒK‚Å–{‚Ì‚±‚Æ�‘‚¢‚Ä‚ ‚Á‚½‚æ�B
0570ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¨‚¢‚¨‚¢±Ú‚ð‚»‚Ì‚Ü‚Ü–{‚É‚·‚é‚‚à‚è‚©‚æ�I
http://www.freeml.com/ctrl/html/MessageListForm/[email protected]
0571ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ‰ƒCƒuƒ‰ƒŠ‚Æ‚©‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚傤‚©�H
0572ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRAA‚Å�A‚»‚ê‚Á‚Û‚¢‚Ì‚ª‚ ‚Á‚½‚¼�B
http://www.ruby-lang.org/en/raa-list.rhtml?name=ruby-libexif
‚Å‚à�A‚È‚º‚©‰´‚̓_ƒEƒ“ƒ��[ƒh�æ‚ÌŽI‚É‚¢‚¯‚È‚¢‚©‚ç�AŽÀ�Û‚Ç‚ñ‚È‚à‚Ì‚©‚͂킩‚ç‚È‚¢�B
0573ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�B
0574ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0xfa.com‚Ìdns‚ª—Ž‚¿‚Ä‚é?
0575ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWindows‚Å�ì‚ç‚ꂽ“ú–{Œêƒtƒ@ƒCƒ‹–¼‚̃tƒ@ƒCƒ‹‚ðUnix‘¤‚Å
ls --show-control-chars
‚Å‚Ý‚é‚ÆSJISƒtƒ@ƒCƒ‹–¼‚Í??????????‚Ý‚½‚¢‚ɂȂè‚Ü‚·�B
‚¢‚¿‚¢‚¿
kterm -km sjis &
‚µ‚ÄŒ©‚Ä‚é‚ñ‚Å‚·‚ª�A
‚¢‚Á‚»‚Ì‚±‚Æruby‚È‚ñ‚©‚Ńtƒ@ƒCƒ‹–¼‚ð•Ï�X‚µ‚½‚¢‚̂ł·�I�I
‚Ç‚¤‚â‚é‚̂łµ‚傤‚©�H
‚â‚è•û�à–¾‚µ‚Ä‚¢‚éHP‚ ‚è‚Ü‚¹‚ñ‚©�H
0576sage
NGNGx = "a"
Dir.glob("*") do |file|
File.rename("file","x")
a.succ!
end
‚Æ‚©‚ŃAƒXƒL�[‚È–¼‘O‚ɕς¦‚邯‚©?
0577to:sage
NGNG0578bloom
NGNGhttp://homepage.mac.com/bloombloom/
0579ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰½‰ñ‚à‚·‚ñ‚Ü‚»�B‹v�X‚É�‘‚«�ž‚ñ‚¾‚̂ł·‚Á‚©‚èsage•û–Y‚ê‚Ä‚½�B
0580ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚Æ1.8‚ÅŽÀ‘•‚³‚¹‚é—\’è‚ÌM17N‚Ƃ͂Ȃñ‚Å‚·‚©�H
0581rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG0582ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0583ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG$ ruby -rkconv -e'3.times{|i|open("XXX\x82\xd9\x82\xb0#{i}","w")}'
$ ls -1
XXX????0
XXX????1
XXX????2
$ ruby -ruri -e'Dir["*"].each{|i|File.rename(i,URI.escape(i))}'
$ ls -1
XXX%82%D9%82%B00
XXX%82%D9%82%B01
XXX%82%D9%82%B02
$ ls -1 | ruby -ruri -pe'$_=URI.unescape($_)' | nkf -e
XXX‚Ù‚°0
XXX‚Ù‚°1
XXX‚Ù‚°2
$
0584ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ¾ŒêƒŒƒxƒ‹‚Åm17n‹@”\‚ª1.8‚É“o�ê‚·‚é—\’è‚Í–³‚¢‚Í‚¸
ithread‚Á‚Ăǂñ‚È‚Ì�H
0585ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0586rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG0587ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—\’è‚Í‚ ‚é‚ªŽžŠú‚Í–¢’è
0588ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGa a b b c
Sun Oct 27 (01:31:44)
[]~$ ruby -pe 'gsub(/\(.\)/,"\1\t")' ahoki
aabbc
Sun Oct 27 (01:31:55)
[]~$ cat ahoki
aabbc
Sun Oct 27 (01:32:01)
[]~$
‰½ŒÌ‚Å‚µ‚傤�H
0589ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�„m17n-ruby
‘g‚Ý�ž‚݃Nƒ‰ƒXƒ‰ƒCƒuƒ‰ƒŠ‚Å‘½Œ¾Œê‚ɑΉž‚·‚邽‚߂̃tƒŒ�[ƒ€ƒ��[ƒN
“à•” Unicode ‚É‚·‚邱‚Ƃ̕¾ŠQ‚ɂ‚¢‚Ă͎©•ª‚Å’²‚ׂÄ�B
>>584
‚æ‚‚í‚©‚ç‚ñ‚ª‚±‚ñ‚Ȃ̂炵‚¢�B
in Thread.pm
|In Perl 5.6 a new model was introduced in which all is was thread
|local and shared access to data has to be explicitly declared.
|This model is called "ithreads", for "interpreter threads".
>>585
IO/File ƒNƒ‰ƒX‚Å�\•ª‚¶‚á‚ñ�B
0590ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby -pe 'gsub(/(.)/, "\\1\t")'
0591ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> IO/File ƒNƒ‰ƒX‚Å�\•ª‚¶‚á‚ñ�B
PerlIO‚Ý‚½‚¢‚È‚à‚̂Ƃ¢‚¤‚Ì‚Ístdio‚Ɉˑ¶‚µ‚È‚¢IO‚ð�ì‚é˜b‚ÆŽv‚¤‚ª�H
ƒXƒPƒWƒ…�[ƒ‹‚à‚³‚ê‚Ä‚¢‚È‚¢‚ª�«—ˆ‚»‚¤‚Ȃ邱‚ÆŽ©‘͉̂½“x‚à‚¢‚í‚ê‚Ä‚¢‚é�B
‚©‚È‚è‚Ì‘åŽdŽ–‚ɂȂé‚̂ŎÀŒ»‚µ‚Ä‚¢‚È‚¢‚¾‚¯�B
0592rubyist@ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG•³Œ¾Œê‚ɂ͂¨Ž—�‡‚¢‚¾‚ª‚È�B
0593ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0594ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚é‚Ù‚Ç—¹‰ð�B
’P‚É IO Œn‚ÌŠÖ�”‚ð�Ä•Ò�¬‚µ‚Ä‚¢‚邾‚¯‚Ȃ̂©‚ÆŽv‚Á‚½�B
0595ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚à‚Æ‚à‚ÆRuby‚̃XƒŒƒbƒh‚̓†�[ƒUƒŒƒxƒ‹ƒXƒŒƒbƒh�B
$1‚̂悤‚ȃ}ƒbƒ`�î•ñ‚Ȃǂ͂·‚ׂăXƒŒƒbƒhƒ��[ƒJƒ‹�B
‹t‚Épthread‚ȂǂðŽg‚Á‚½ƒXƒŒƒbƒh‚ÌŽÀŒ»‚Í–¢‘Ήž�B
�¡Œã‚̉ۑè‚̂͂¸�B
0596ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0597ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒuƒ�ƒbƒLƒ“ƒO‚h�^‚n‚¾‚ÆŽ~‚Ü‚é‚Á‚ăAƒŒ‚Ë�B
0598rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG0599sage
NGNGŽ~‚Ü‚é�ê�‡‚Í‚ ‚邪�Aƒuƒ�ƒbƒLƒ“ƒOI/O ‚ł͂Ȃ¢�B
‚³‚Ÿ�A’T‚µ‚Ă݂悤�I�I
0600ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0601ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0602ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17907
0603ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@ �@| | �@ �È�Q�È �@�@�@�@�^�P�P�P�P�P�P�P�P�P�P
�@�@�@�@É__�R�i�V�L„D�M)�Q�@�ƒ �@ ‚Ü‚ —Ž‚¿’…‚¯‚æ
�@�@ �@ ||‰©||�^ �@�@�@.|�@�‘�A �_�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q
�@ �Q�@||‹à|||�@|�@ . �@ �P˜¤.)
�@ �_�@||�…||‚k“ñ�½ .�P�P�P�P�_
�@�@||�_`~~�L�@�@�i�ƒ“ñ�Fœc�j�@�@�@ �_
�@�@||�_||�P�P�P�P�P�P�P�P�P||�P
�@�@ .�@ ||�P�P�P�P�P�P�P�P�P||
0604ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@ �@| | �@ �È�Q�È �@�@�@�@�^�P�P�P�P�P�P�P�P�P�P
�@�@�@�@É__�R�i�V�L„D�M)�Q�@�ƒ �@ Perl‚Í�Å�‚�I
�@�@ �@ ||‰©||�^ �@�@�@.|�@�‘�A �_�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q
�@ �Q�@||‹à|||�@|�@ . �@ �P˜¤.)
�@ �_�@||�…||‚k“ñ�½ .�P�P�P�P�_
�@�@||�_`~~�L�@�@�i�ƒ“ñ�Fœc�j�@�@�@ �_
�@�@||�_||�P�P�P�P�P�P�P�P�P||�P
�@�@ .�@ ||�P�P�P�P�P�P�P�P�P||
0605ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@�@�@�@�@ �@�@ �@�@/ �j �^�P�P�P�P�P�P�P
�@�@�@�@�@�@�@ �@�@�@ ./ /�@|�@�@Perl‚‚ñ�I
�@�@�@�@�@�@�@�@�@�@ / /�@�@�_�@�@�@�@�@�@�@�@�@ �^�P�P�P
�@�@�@�@�@�@ �@�@�@ / /�@�@�@�@�P|�^�P�P�P�P|�@Ruby‚‚ñ�I
�@�@�@�@�@�@�@�@�@./ /�Qƒ©�@�@�@�@�@, -‚Â�@�@�@�_
�@�@�@�@�@�@�@ �@/ / �L„D�M�j�@ .�^__ƒm�@�@�@�@�@�@�@�P�É�P�P�P�P
�@�@�@�@�@�@�@�@/�@�@�@�@�_�@�^ /�@�@ �¼_�R¤
�@�@�@�@�@�@�@ .|�@�@�@�@‚Ö�^ �^�@�@�@�@�@�@.�_�_�@ƒ©�Qƒ©
�@�@�@�@�@�@�@ |�@�@�@�@Ú'�@ /¤“ñ‚Â�@�@�@�@ �@ �_ �i�@�L„D�M�j
�@�@�@�@�@�@�@ |�@�@�@�@�@�^.�@�@�@�@�@�@�@�@�@�@.�@>�@�@��R
�@�@�@�@�@�@�@/�@�@�@�^�@�@�@�@�@�@ �@�@�@�@�@�@/�@�@�@ ‚Ö �_
�@�@�@�@�@�@ /�@ �^�@�@�@�@�@�@ �@ �@�@�@�@�@�@/�@ �@ /�@�@ �_�_
�@�@�@�@�@�@/�@ /�@�@�@�@�@�@�@�@�@ �@�@�@�@�@Ú�@�@ƒm�@�@�@�@�@�R_‚Â
�@�@�@�@ �^�@ƒm�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@/�@ /
�@�@�@_/�@�^�@�@�@�@�@�@�@�@�@�@�@ �@�@�@�@/�@ /|
�@ ƒm�@�^�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�i�@�i�@¤
�¼ -'�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ �@�@�@�@|�@ |¤�@�_
�@�@�@�@�@�@�@�@�@�@�@�@�@�@ �@�@�@�@�@�@.�@�@|�@/�@�_�@�Ül
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@|�@|�@�@�@�j�@/
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ƒm�@ �j�@�@ ‚µ'
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@(�Q�^
0606ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0607ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@ �@| | �@ �È�Q�È �@�@�@�@�^�P�P�P�P�P�P�P�P�P�P
�@�@�@�@É__�R�i�V�L„D�M)�Q�@�ƒ �@
�@�@ �@ ||�…||�^ �@�@�@.|�@�‘�A �_�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q
�@ �Q�@||“¹||�@|�@ . �@ �P˜¤.)
�@ �_�@||�…||‚k“ñ�½ .�P�P�P�P�_
�@�@||�_`~~�L�@�@�i�ƒ“ñ�Fœc�j�@�@�@ �_
�@�@||�_||�P�P�P�P�P�P�P�P�P||�P
�@�@ .�@ ||�P�P�P�P�P�P�P�P�P||
0608ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@�@�@�@ _,-�\-¤-° �A
�@�@�@ �@ �^�@ �@�@�@�@�@�@�_
.�@�@ �@/�@"�V�@�@�@�@ƒn�@�@Ê
�@�@�@²�@�@�@ �@�@�^'''''�]'''Í�@ |
�@ �@ |�@ �@�@�@�^�@�@�@�@ �@!�@|
�@�@ J. �@/ ƒŠƒg-¤¤ �@�@¤-�]ÔÉ
�@ �@ |.�i�T�@�@Þ‚†i³§�@ �@f³§'!'
�@ �@ Þ|�@�o�@�@�@�L�@�@�@�@�M .�p
�@�@�@ |. �@ �T�@�@�@ �@' �@ /!
�@�@ �@ |. �@ ˜¢�@¤�@�P ,²ƒŠ
�@ �@ �@ƒC�@Ñ �@�@�M �Pi�@!�[-�A
�@�@�@�@i �^�@�_�@�@�@ �R�@ �@ !
�@�@�@�^�@ �@�@�@�M °-�]'�L�@�@ �R
Perl‚È‚ñ‚Ń_ƒTƒC‚í�B‚±‚ê‚©‚ç‚ÍRuby‚æ�B‚Å‚àƒNƒ‰ƒX‚ðŽg‚í‚È‚¢Rubyist‚Í
‚à‚Á‚Æ�ň«�BPerl‚ƃR�[ƒhˆê��‚¶‚á‚È‚¢�B‚»‚ê‚È‚çPerlŽg‚Á‚ĂȂ³‚¢‚æ‚Á‚Ä
‚©‚ñ‚¶�B
0609ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGunpack("m").
display
0610ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGKernel#gets([rs])‚Ìrs‚Í�s‚Ì‹æ�Ø‚è•¶Žš‚Ȃ̂Å�³‹K•\Œ»‚ł͂Ȃ¢‚µ�c�c
—Ⴆ‚Î�Abigfile‚©‚ç
2002.1.3
2002.3.8
‚Æ‚©‚ð‹æ�Ø‚è‚Ƀtƒ@ƒCƒ‹•ªŠ„‚µ‚½‚¢‚Å‚·�B
% csplit bigfile /2002/ /2002/ /2002/ �c�c
‚ð–͕킷‚érubyƒR�[ƒh‚͂ǂñ‚ÈŠ´‚¶‚ɂȂé‚Å‚µ‚傤‚©�H
0611610
NGNG% csplit bigfile "/^2002.[0-9]+.[0-9]+/" {100}
‚Å‚µ‚½�B
0612ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0613ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚݂Ȃ³‚ñ‚ÍŽ©•ª—p‚É’è‹`‚µ‚½�@def�`end�@‚΂Á‚©
“ü‚Á‚½ƒtƒ@ƒCƒ‹‚ð‰½�ˆ‚É‚¨‚¢‚Ä�A‚ǂ̂悤‚ÉŽg‚Á‚Ă܂·‚©�H
0614ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGsite_ruby‚ɲݽº
0615ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¤�l‚¦‚Ä prototype ‚ð�ì‚Á‚½ŠO�‘�l‚ª‚¢‚邿�B
http://sourceforge.net/projects/rubyvm
0616ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGexport RUBYLIB=~/lib/ruby
0617ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG"pMSkq6SopPOkwKToobykwKGipNKk0qTS\n"
0618ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG"abbbbbbbbbbcdddddddddefffffffghhhhhh\n"
0619ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰´‚̓lƒCƒeƒBƒu‚Í‚©‚¹‚½‚¢�B
0620ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>>619
eval Œn‚͂ǂ¤‚·‚é‚Ì�H
0621ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0622ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚Â‚à‚Æ‚³‚ñ‚ª‚‚©‚Á‚Ä‚½ƒL�[ƒ{�[ƒh”z—ñ‚Á‚ĂȂñ‚¾‚Á‚¯�H
‚Ü‚¦�AŽGŽ�‚Å�Љ‚ꂽ‚¯‚Ç�A–¼‘O‚í‚·‚ê‚¿‚á‚Á‚½�B
0623ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://pc3.2ch.net/test/read.cgi/pc/1011422119/838
http://pc3.2ch.net/test/read.cgi/pc/1011422119/841
0624ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0625ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�Q�Q_(�Gß„Dß)_�Q�Q�@�@�@�ƒ�@‚¤‚§�H�I
|�@ �V( ‚Â�@‚Â�@�@ |�@�@�@�@�_�Q�Q�Q�Q�Q�Q�Q�Q�Q
|�_ �������_
|�@ �_�O�@�Ü�@�@�@�Ü �@�_
�_�@ �b�������b
�@ �_ |�Q�Q�Q�Q�Q�Q__.|
0626ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG(ß„Dß)�ƒruby°
„¯„®
0627ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�í�œ‚·‚é�B
0628ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@‚«‚Ì‚±‚Á‚Ì‚Á‚±�[‚Ì‚±�@�@‚°‚ñ‚«‚Ì‚±‚Á�ô
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ƒÁ �Ü �R
�@(“ñ“ñƒj‚Â�@�@�@�@m˜¸m�@�@�@�@�@�i�Q�Q�Q�j
�@ �R�L_�T�M(�@�@�@�@ÐM�ìMœc�@�@�@�@ |ß„Dß,, |
�@ (/�@�@�@�R)�@�@�@�@|ß�[ß*|�@�@�@�@�@(/�@�@�@�R)
�@ �@|�@ �@�@|�@�@�@ (/|�@�@ .|�R)�@�@�@�@ |�@�@�@|
�@�@ �R�Qƒm�@�@�@�@�@�R�Qƒm�@�@�@�@�@�@�R�Qƒm
�@�@�@(/ �R)�@�@�@�@�@ (/ �R)�@�@�@�@�@�@(/ �R)
�@�@�@�_�@ƒGƒŠƒ“�`ƒM�ô�@ƒ}ƒCƒ^ƒP�ô�@ƒuƒiƒVƒ�ƒW�ô�^
�@�@�@�@ (“ñ“ñƒjƒj‚Â�@�@�@ƒ~œcƒ~œcƒ~�@�@ �@ ƒÁ'�Ü"�R
�@�@�@�@�@ �R�@�@ / /�@�@�@�@�Sƒ~œcƒ~�U �@ �@�@�i�Q�Q�Q�j
�@�@�@�@�@�@ | (,,ß„Dß) �@�@�@�@ | (,,ß„Dß) �@ �@ �@ | (,,ß„Dß)
�@�@�@�@�@�@ |�iÉ �@|�j�@�@�@�@�@|�iÉ �@|�j �@�@�@�@ |�iÉ �@|�j
�@�@�@�@�@�@ �R�Qƒm�@ �@ �@ �@ �R�Qƒm�@ �@ �@ �@ �R�Qƒm
�@�@�@�@�@�@�@U"U �@�@�@�@�@�@U"U �@�@ �@ �@ �@ U"U
0629575
NGNG576‚³‚ñ�I
‚Ç‚¤‚à—L‚è“‚²‚´‚¢‚Ü‚µ‚½�I�I
‚³‚ç‚ÉŽ¿–₵‚Ä‚¢‚¢‚Å‚µ‚傤‚©�H
‚Ù‚°.txt‚̂悤‚ȃtƒ@ƒCƒ‹‚ðˆê’U�A“ú–{Œê�¨ascii‚É‚µ‚½Œã�A
‚à‚¤ˆê“xascii�¨“ú–{Œê‚É‚·‚邿‚¤‚É‚µ‚½‚¢‚Å‚·�B
ƒtƒ@ƒCƒ‹‚̈ê�s–Ú‚Æ‚©Žg‚Á‚Ä�\‚í‚È‚¢‚Ì‚Å�A
‚»‚¤‚¢‚¤‚±‚Ƃł«‚Ü‚·‚©�H
% cat ‚Ù‚°.txt
aho
boke
% cat a.txt
‚Ù‚°.txt
aho
boke
‚̂悤‚É“ú–{Œê�¨ascii‚ÌŽž‚Íx.succ!‚Å‹t‚ÌŽž‚Í
�uƒtƒ@ƒCƒ‹‚̈ê�s–Ú�v�¨ƒtƒ@ƒCƒ‹–¼
‚̂悤‚É‚µ‚½‚¢‚̂ł·�B
‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©�H
0630575
NGNG576 ‚³‚ñ‚Ç‚¤‚à—L‚è“‚²‚´‚¢‚Ü‚µ‚½�B
‚à‚ЂƂŽ¿–₵‚Ä‚¢‚¢‚Å‚·‚©�H
“ú–{Œê�¨ascii‚͂ł«‚Ü‚µ‚½‚ª�Aascii�¨“ú–{Œê‚͉”\‚Å‚µ‚傤‚©�H
%cat ‚Ù‚°.txt
aho
beke
�y‚Ù‚°.txt�¨a.txt�z
%cat a.txt
‚Ù‚°.txt
aho
beke
�ya.txt�¨‚Ù‚°.txt�z
%cat ‚Ù‚°.txt
a.txt
aho
beke
‚̂悤‚É‚·‚éƒc�[ƒ‹‚Å‚·�B
0631575
NGNG‘O‚̃„ƒc�A�‘‚«�ž‚Ü‚ê‚Ä‚½‚ñ‚¾�c�c�B
0632ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>> puts a.tr('a-z','‚�-‚š')
�E‚�‚�‚‚‚‚ûW
‚Æ‚¢‚¤‚̂ł͂Ȃ�A
>> puts a.tr('a-z','‚�-‚š')
‚�‚�‚�‚�‚‚‚‚‚‚‚‚
‚ƂȂÁ‚Äν¨
>> require 'kconv'
=> false
>> KCONV='e'
=> "e"
>> a='aa‚�‚�‚‚‚‚bb'
=> "aa\243\341\243\341\243\342\243\342bb"
>> puts a.tr('a-z','‚�-‚š')
�E‚�‚�‚‚‚‚ûW
=> nil
>> puts a
aa‚�‚�‚‚‚‚bb
=> nil
>>
0633ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0634ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>>583
0635ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0636ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒtƒ@ƒCƒ‹–¼‚̂悤‚ȃ�ƒ^ƒf�[ƒ^‚ðŽ�‚½‚¹‚é‚̂͂ǂ¤‚©‚Æ�E�E�E
ƒtƒ@ƒCƒ‹–¼‚ð�‘‚«Š·‚¦‚é‚ñ‚łȂ‚ăVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚É‚µ‚½‚ç�H
File::open("‚Ù‚°.txt","w"){|f|f<<"foo\n"}
File::symlink("‚Ù‚°.txt", "hoge.txt")
puts File::open("‚Ù‚°.txt").read #=> foobar
puts File::open("hoge.txt").read #=> foobar
puts File::symlink?("hoge.txt") #=> true
puts File::readlink("hoge.txt") #=> ‚Ù‚°.txt
puts File::symlink?("‚Ù‚°.txt") #=> false
0637ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0638ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0639rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG0640ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0641ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŠÌ�S‚ÌRuby/Gtk‚ɃCƒ“ƒvƒŠƒ�ƒ“ƒg‚³‚ê‚ĂȂ©‚Á‚½ã©
0642ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0643ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby-gtk-0.30
0644ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby/DL Žg‚¦‚΂ł«‚邿�B
Œƒ‚µ‚–Ê“|‚¾‚¯‚Ç�B
0645ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0.28 => 0.30‚É�ã‚°‚½‚¯‚Ç‘g‚Ý�ž‚Ü‚ê‚ĂȂ©‚Á‚½(�L¥ƒÖ¥`)¼®ÎÞ°Ý
Gtk::Object#signal_emit_by_name ‚Í‚ ‚邯‚ÇŽg‚¤‚Æ�A
>The signal_emit_by_name() function is unimplemented on this machine (NotImplementedError)
‚ɂȂé�B
0646ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGmake‚Å‚«‚é‚̂łµ‚傤‚©�B
0647ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG”ˆႢ‚Å‚µ‚½�A�A�A
0648ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“à—e�F
‚t‚m‚h‚w‚Ìuniq‚âsort‚Ȃǂ̃tƒBƒ‹ƒ^�[ƒRƒ}ƒ“ƒh‚ð
uniq ƒtƒ@ƒCƒ‹ > ƒtƒ@ƒCƒ‹.uniqed
sort ƒtƒ@ƒCƒ‹ > ƒtƒ@ƒCƒ‹.sorted
‚̂悤‚É’P“ƂŎg‚¤‚±‚Æ‚ª‘½‚¢‚ñ‚Å‚·‚¯‚Ç�A
ruby‚Ì-iƒIƒvƒVƒ‡ƒ“‚Ý‚½‚¢‚Ɉø�”‚̃tƒ@ƒCƒ‹‚ð�‘‚«Š·‚¦‚½‚¢‚Å‚·‚ª�A
‚ ‚ç‚ä‚é‚t‚m‚h‚wƒRƒ}ƒ“ƒh‚ňø�”ƒtƒ@ƒCƒ‹‚Ì�‘‚«Š·‚¦‚ðŽÀŒ»‚·‚é
ƒ‰ƒbƒp�[‚q‚t‚a‚xƒXƒNƒŠƒvƒg‚Á‚Ăǂ̂悤‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·‚©�H
‚Ȃɂ©ƒTƒ“ƒvƒ‹‚Æ‚©’m‚Á‚Ä‚¢‚é�l‚¢‚Ü‚¹‚ñ‚©‚Ÿ�H
0649ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG#! /usr/bin/env ruby
cmd, fn = ARGV.shift, ARGV.last
if ARGV.empty? or !test(?f, fn)
STDERR.printf("usage: %s command [options] filename\n", $0)
exit!
end
newfn = fn+"."+cmd
r, w = IO::pipe
if fork()
w.close
open(newfn, "w").write(r.read)
r.close
Process.wait
else
r.close
$stdin.close
$stdout = w
exec(cmd, *ARGV)
end
if $? == 0 and ENV["MY_WRAPPER_OVERWRITE"]
File::delete(fn)
File::rename(newfn, fn)
end
0650ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG(autoload 'ruby-mode "ruby-mode" "alternate mode for editing ruby programs")
(setq auto-mode-alist (append ' (("\\.rb$" .ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("^#!.*ruby" . ruby-mode))
interpreter-mode-alist))
ˆÈŠO‚É.emacs‹L�q‚·‚é‚ׂ«‚±‚Ƃ͂ ‚è‚Ü‚·‚©�B‚±‚Ì‹L�q‚¾‚¯‚Å‚Íruby-mode‚Í‹N“®‚µ‚Ä‚à
Ž©“®ƒCƒ“ƒfƒ“ƒg‚Í‹@”\‚µ‚Ü‚¹‚ñ�B
0651ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰º‚Ì�š‚̈ʒu‚ÅC-j‚ð’@‚¢‚Ä‚à�¡‚̈ʒu‚ɃJ�[ƒ\ƒ‹‚ª—ˆ‚È‚¢?
—ˆ‚È‚¢‚È‚ç C-hkC-j ‚ł͉½‚Æ�o‚é?
if a�š
�@�¡
0652ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
0653648
NGNGwrap‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹–¼‚Æ‚µ‚Ä
$ wrap uniq url.txt
‚Ý‚½‚¢‚ÉŽg‚¤‚ñ‚Å‚·‚æ‚Ë�H
ŽÀ�s‚µ‚Ä‚à�Aurl.txt‚Í•Ï�X‚³‚ê‚ĂȂ©‚Á‚½‚Å‚·‚æ�B
0654ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0655ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚¸ƒ}ƒjƒ…ƒAƒ‹ˆø‚«‚È‚ª‚çƒvƒ�ƒOƒ‰ƒ€‚ðŠ®‘S‚É—�‰ð‚µ‚Ăق·‚¡
0656!649
NGNG‚à‚µ‚©‚µ‚ăvƒ�ƒOƒ‰ƒ€“ǂ߂Ȃ¢�l�H
ŠÂ‹«•Ï�” MY_WRAPPER_OVERWRITE ‚ð’è‹`‚µ‚Ä‚¨‚‚©�A
if $? == 0 and ENV["MY_WRAPPER_OVERWRITE"]
‚ð
if $? == 0
‚É‚·‚ê‚΂¢‚¢�B
0657ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚é‚Ñ‚«‚¿‚̌딚‚à‚©‚È‚èwarata
0658ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“®‚©‚È‚¢‹æ“à�H
0659ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’P‚É >>550 ‚ð–|–󂵂½‚¾‚¯‚Ý‚½‚¢‚¾‚©‚ç“ü—͂ɂæ‚é‚ñ‚Å‚Í�H
0660ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0661ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ç�@‚¤�@‚©�@‚ñ�@‚Å�@‚·
0662ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0663ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚ê‚ÅŒ¾‚í‚ê‚Ä‚¢‚é�A
�bnew regular expression engine (REE)
‚Á‚Ä‹SŽÔ�H
0664ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¤‚È‚ñ‚¿‚Ⴄ�H
‚‚©�A�¦‚¢‚±‚ÆŒ¾‚¢‚Ü‚‚Á‚Ä‚¢‚é‚Ë�A‚»‚±�B
<matz (continued)> Don't fight with python people. And Perl people,
they will move to Ruby when Perl 6 comes out.
‚È‚ñ‚Ä�AŒ¾‚Á‚Ä‚¢‚邵�A�A�A‹‹C‚¾‚È�`�B
‚»‚ê‚Æwin32‚ÉŠÖ‚·‚鎿–â‚Æ‚©‘½‚¢‚È�B
matz‚Í‹»–¡‚È‚³‚»‚¤‚¾‚ª�A
Ruby‚ª•�‹y‚·‚é‚É‚Íwin32‚łǂ¤Žg‚í‚ê‚é‚©‚Í�d—v‚Ȃ̂©‚à‚Ë�B
‚ÆŒ¾‚¤‰´‚àwin32ƒ†�[ƒU�[‚È‚ñ‚¾‚ª�c�B
0665ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGVisuaRuby ‚̂悤‚È GUI ƒ‰ƒCƒuƒ‰ƒŠ‚ª‚à‚¤�‚µ‚±‚È‚ê‚Ä‚‚邯‚¢‚¢‚Ì‚©‚È‚ �B
0666ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.zoi.to/~zoi/widestudio/ml/200205-/msg00690.html
Windows ‚ɑΉž‚µ‚½‚ç‚¿‚å‚Á‚ÆŽg‚Á‚Ă݂邩�B
0667ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚È‚ñ‚©‰˜‚ê‚Ä‚¢‚‚悤‚È‹C‚ª‚µ‚ÄŒ™‚¾‚µ�B
0668ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGGUI“Æ—§‚Á‚Ä‚±‚Æ‚©�H
0669ruby‚Å–|–󂷂邯‚Ç‚¤‚È‚é‚Ì�H
NGNG@sorted_by_mtime=
map{$_->[0]}
sort{$a->[1] <=> $b->[1] }
map{ [$_, -M $_ ] }
@files;
0670‚é‚Ñ‚«‚¿•³
NGNGirbsh
‚ð�@æÈ�@‚µ�@‚Ä�@‚�@‚¾�@‚³�@‚¢�@�B
0671ruby�u‚É�v–|–󂵂½
NGNGsorted_by_mtime = files.map{ |f| [File::mtime(f),f] }.sort.map{ |i| i[1] }
Ruby 1.7:
sorted_by_mtime = files.sort_by{ |f| File::mtime(f) }
0672ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ì
�uRubyŠÖ˜Aƒ��[ƒŠƒ“ƒOƒŠƒXƒg ƒgƒsƒbƒNƒX�v
‚Á‚Ä�Å‹ß�X�V‚ªƒXƒgƒbƒv‚µ‚Ä‚¢‚邿‚¤‚Å‚·‚ª�A
“¯‚¶‚悤‚ÈŽdŽ–‚ð�s‚Á‚Ä‚¢‚éƒy�[ƒW‚Á‚Ä‚ ‚é‚ñ‚Å‚µ‚傤‚©�H
0673ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=ML+Topics
0674ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=ML+Topics
0675ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0676ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG@strips;
end;
ƒ\�[ƒXŒ©‚Ä‚½‚ç�ÅŒã‚É?‚ª‚‚¢‚Ä‚é‚ñ‚Å‚·‚¯‚Ç‚±‚ꉽ‚Å‚·‚©�H
0677ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚ł̓�ƒ\ƒbƒh‚Ì–¼‘O‚ÉŽg‚¦‚é•¶Žš‚Ì’†‚É�u?�v‚ª‚ ‚è‚Ü‚·�B
‚¨‚ê‚Æ‚µ‚Ă͂¢‚¿‚¢‚¿ƒZƒ~ƒRƒ�ƒ“‚‚¯‚Ä‚é‚Ì‚ª‹C‚ɂȂé�B
0678ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG>>664
http://www.rubycolor.org/r/200211a.html#05
‚¾‚»‚¤‚Å‚·‚æ�B
0679676
NGNG‚ ‚è‚è�B
‰½‚©•¶–@‚©‚ÆŽv‚Á‚ă}ƒjƒ…ƒAƒ‹“Ç‚ñ‚ł܂·‚½�B
?‚Æ‚©‚¾‚ÆŒŸ�õ‚à–ð‚É—§‚½‚È‚¢‚悤(�L¥ƒÖ¥`)¼®ÎÞ°Ý
�„ ‚¨‚ê‚Æ‚µ‚Ă͂¢‚¿‚¢‚¿ƒZƒ~ƒRƒ�ƒ“‚‚¯‚Ä‚é‚Ì‚ª‹C‚ɂȂé�B
‚»‚¤‚¢‚¦‚ΑS•”‚ɃZƒ~ƒRƒ�ƒ“‚ª‚‚¢‚Ä‚é�B
‚È‚ñ‚Å‚¾‚ë�E�E�E�B
0680rubyist@ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG‚Æ‚±‚낪�A‚ ‚̃Rƒ“ƒsƒ…�[ƒ^ŠE‚ÌŠà�×–E‚Æ‚¢‚¤‚ׂ«ƒAƒjƒIƒ^‚Ì”’“ØLarry‚ª�ì�¬‚µ‚½Perl‚͉½‚Å‚µ‚傤‚©�B
‚ ‚Ü‚è‚É‚à�A�Xˆ«‚©‚ˆ«Ž¿‚©‚Â�ÆŽã‚ł͂ ‚è‚Ü‚¹‚ñ‚©�AŒ‡“_‚¾‚炯‚Å�A‚à‚͂⌾Œê‚Æ‚µ‚Ă̑̂ð‚È‚µ‚Ä‚¢‚Ü‚¹‚ñ�B
‚Ü‚½�APerlƒRƒ~ƒ…ƒjƒeƒB‚̑Ήž‚Í�AŠ®‘S”é–§Žå‹`‚©‚˜ü–�‚ł͂Ȃ¢‚Å‚µ‚傤‚©�B
‚Å‚«‚ê‚Î�APerl‚悤‚È‘eˆ«•i‚ðŽg‚¢‚½‚‚Í‚ ‚è‚Ü‚¹‚ñ�B
‚µ‚©‚µ�A‚Ü‚í‚è‚ðŒ©“n‚·‚Ƃ݂ñ‚ÈPerl‚Å‚·�A‚»‚¤‚È‚é‚Æ‘eˆ«•i‚ðŽg‚í‚´‚邦‚È‚¢‚Å‚·�B(“Á‚ÉŽdŽ–‚Å‚·‚Æ)
‚È‚º‚Å‚µ‚傤‚©�H
Perl‚Í�A�‘�ЂÌ�”‚ª‘½‚¢‚̂ł·�AŠÈ’P‚ÉŽg‚¦‚é‚̂ł·�A‚½‚¢‚µ‚½‚±‚Æ‚ð‚µ‚È‚¯‚ê‚΂ł·‚ª�i‚í‚ç
Perl‚Í�ALinux‚Å‚¢‚¦‚΃^ƒRˆÈ‰º‚Ì�l�X‚É�L‚Žg‚í‚ê‚Ä‚¢‚é‚̂ł·�B
Perlƒ†�[ƒU‚ðš}˜M‚µ�A”r�œ‚µ‚Ă䂂̂ª‚í‚ê‚í‚êRubyist‚Ì–±‚߂ł͂Ȃ¢‚Å‚µ‚傤‚©�H
‚»‚Ì‚½‚ß‚Ì�ê‚Æ‚µ‚Ä2ch‚É‚¨‚¢‚Ä’·‚炊ˆ“®‚µ‚Ä‚«‚½Œ‹‰Ê�A�uPerl‚Í•³�v
�uRubyˆÈŠO‚ÌŒ¾Œê‚Í•³�v‚Æ‚¢‚¤”Fޝ‚Í’è’…‚µŽn‚߂Ă«‚½‚悤‚ÉŽv‚¢‚Ü‚·�B
“¯Žž‚É�AGUI‚ª‚È‚¯‚ê‚Ή½‚à‚Å‚«‚È‚¢‘‹�~–[‚ÌŠß‹ï‚Å‚ ‚éDelphiƒXƒŒƒbƒh‚É‚àŽ·�X‚È�UŒ‚‚ð‰Á‚¦�A
DelƒMƒR‚Æ‚¢‚¤�¶ˆÓ‹C‚ȌŒè‚ð’Ç‚¢�o‚·‚±‚Ƃɂà�¬Œ÷‚µ‚Ü‚µ‚½�B�i‚©‚È‚è‘O‚Å‚·‚ª
‚±‚ê‚©‚ç‚àRuby‚Ì‹P‚©‚µ‚¢–¢—ˆ‚Ì‚½‚߂Ɋˆ“®‚𑱂¯‚Ä�s‚«‚½‚¢‚ÆŽv‚¢‚Ü‚·‚Ì‚Å�A‚³‚ç‚È‚é�º‰‡‚ƈ¤ŒÚ‚ð‚¨Šè‚¢‚µ‚Ü‚·�B
0681ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG? ‚̂ق©‚É ! ‚àŽg‚¦‚Ü‚·‚ª�A‚±‚ê‚ç‚̓�ƒ\ƒbƒh–¼‚Ì––”ö‚É‚µ‚©Žg‚¦‚È‚¢‚Å‚·‚æ‚Ë�H
0682ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚Ì’Ê‚è
0683ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRu..Why? �¡‚È‚ñ‚Ä‚¢‚Á‚½‚ñ‚¾‚¢�HRPG�H
0684ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG? ‚Í boolean ‚ð•Ô‚·ƒ�ƒ\ƒbƒh‚É�A
! ‚̓ŒƒV�[ƒo‚ð•Ï�X‚·‚é”j‰ó“Iƒ�ƒ\ƒbƒh‚ɂ‚¯‚é�B
‚½‚¾‚µ�AString#sub! ‚ɑ΂·‚é String#sub ‚悤‚È
”j‰ó“I‚łȂ¢ƒo�[ƒWƒ‡ƒ“‚ð—pˆÓ‚µ‚Ä‚¢‚é�ê�‡‚ÉŒÀ‚é�B
0685ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ‹�\‚±‚̃XƒŒ�A�F‚ñ‚È�l‚ÉŒ©‚ç‚ê‚Ä‚¢‚é‚Ì‚Ë�c�B
‚ ‚Ü‚è�A‰ºŽè‚È”Œ¾‚Å‚«‚ñ‚È�c�B
0686ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�„‚½‚¾‚µ�AString#sub! ‚ɑ΂·‚é String#sub ‚悤‚È
�„”j‰ó“I‚łȂ¢ƒo�[ƒWƒ‡ƒ“‚ð—pˆÓ‚µ‚Ä‚¢‚é�ê�‡‚ÉŒÀ‚é�B
‚»‚ñ‚È‚ÌËÞЮ°½·Þ
def foo() o = dup ; o.foo! ; o end ‚·‚邯‚«‚͂ނµ‚ë foo! ‚ª�悾‚µ�B
�ufoo!‚Ífoo‚æ‚è”j‰ó“I�v‚Á‚Ä‚±‚Æ‚ª‚¢‚¢‚½‚©‚Á‚½‚Ì‚Ë�B
0687ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG!‚Í‚â‚âŠëŒ¯‚ȃJƒzƒŠ‚Ì‚·‚é‚à‚̂ɂ‚¯‚é
0688ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0689ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0690ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGeval!
0691ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚‚©�A�ŋ߂Í!‚łȂ¢ƒ�ƒ\ƒbƒh‚à‘¬‚‚È‚Á‚Ä‚«‚Ä‚¢‚Ä�A
Œã‚ÍGC‚ð‰ü—Ç‚µ‚½‚ç�A
!‚ȃ�ƒ\ƒbƒh‚Ì‘¬“x–ʂ̃�ƒŠƒbƒg‚ª‚Ù‚Æ‚ñ‚Ç–³‚‚È‚é‚Á‚Ä•·‚¢‚½‚ñ‚¾‚¯‚Ç�A
‚Ù‚ñ‚Æ�H
0692ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ü‚Ÿ�A–ÚŽw‚µ‚Ă͂¢‚é�B
‚¿‚å‚Á‚ƃP‚Ì�¶‚¦‚Ä‚éƒ�ƒ\ƒbƒh‚É‚Í!�B
0693ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby2‚ÆVM‚̘b‘è‚â‹c˜_(�H)‚ð�‚µ“Ç‚ñ‚ÅŒ©‚½‚¢‚̂ł·‚ª�A
‚È‚ñ‚©ƒL�[ƒ��[ƒh‚ªˆø‚Á‚©‚©‚ç‚È‚¢‚ñ‚Å‚·‚¯‚Ç‚§�[
‚È‚ñ‚Æ‚¢‚¤ƒL�[‚ÅŒŸ�õ‚·‚ê‚΂¢‚¢‚̂łµ‚傤�H
0694ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGlist ‚ł͂قƂñ‚ǘb‘è‚ɂȂÁ‚Ä‚¢‚È‚¢‚æ�[‚È�B
1.x Œn‚ðŒÍ‚ç‚·•û‚ª—D�æ‚Ȃ̂©‚È�B
0695ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdev‚©talk‚Ö�s‚«‚È‚³‚ê�„693
0696ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–œ�Î�I�I�I�I�I�I�I�I�I�I‚P
0697ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’´‚¦‚Ă܂¹‚ñ�BˆÈ�ã�B
0698ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRHG‚Æ‚©‰¤“¹•҂ɂ͊ú‘Ò‚µ‚Ä‚é‚ñ‚¾‚ª�B
‹àŒõ‚ªŠÖ‚í‚Á‚Ă邯Žv‚¤‚ÆŸT�B
0699ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0700ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚Ù‚ÈŽ¿–â�AƒXƒ}ƒ\
0701ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ÌŒê˜^‚ð‹³‚¦‚Ä—~‚µ‚¢‚ñ‚¾‚ª�B
0702ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
0703ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“¥‚Þ‚È
0704ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.loveruby.net/ja/hack/guide.html
‚±‚ê‚Ì�‘�Дł̂±‚Æ‚¾‚낤�B
0705ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby-list. ‚½‚‚³‚ñ‚ ‚è‚·‚¬�B
0706ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGExcel‚ÌVBA‚©‚çc:\test.rb‚ðŽÀ�s‚·‚é•û–@‚ð�A
‚ǂȂ½‚©‹³‚¦‚Ä’¸‚¯‚È‚¢‚Å‚µ‚傤‚©�B
0707rubyist@ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG0708ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹àŒõ‚Í�‘‚¢‚¿‚á‚¢‚È‚¢‚¾‚ë�B
‚ ‚Ÿ�BƒRƒ“ƒpƒCƒ‹Œ‹‰Ê‚ð‰„�X‚Æ�Ú‚Á‚¯‚Ä‚¢‚½–{‚Í‚ ‚Á‚½‚Á‚¯�B
0709ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0710ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.loveruby.net/~aamine/ja/tdiary/?date=20021112#p03
‚P‚QŒŽ“ª‚¾‚Á‚Ä‚³�B
0711ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGn = hash[foo]
if n == nil
n = hash[foo] = MyClass.new
end
n = hash.fetch(foo){|key| hash[key] = MyClass.new }
0712ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGn = hash[foo] || (hash[foo] = MyClass.new)
‚±‚ê‚Í‚¾‚ß�H
0713ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0714ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0715ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGDNS‚ª–â‘肪‚ ‚Á‚Ä‚¤‚Ü‚�s‚©‚È‚¢‚炵‚¢�B
’¼�ÚIPƒAƒhƒŒƒX‚Å�À‚¯‚Á‚Ä‚³�B
0716ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.hotwired.co.jp/news/news/technology/story/20021108303.html
0717ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚Å�”•bŠÔ�ˆ—�‘Ò‚¿‚ð‚µ‚½‚¢‚̂ł·�B
1.ƒlƒbƒgƒ��[ƒNŒo—R‚Å’[––A‚É�M�†‚ð‘—‚é�B
2.�”•b‚¨‚«‚É‚»‚ÌŽÀ�s�I—¹‚ðŠm”F‚µ‚É�s‚�BŠm”F‚Å‚«‚é‚܂ŌJ‚è•Ô‚µ�B
3.ŽŸ‚Ì�ˆ—�‚ð�s‚¤�B
‚Æ‚¢‚Á‚½‹ï�‡‚ɂł·�B
‚½‚¾‚̃‹�[ƒv‚ÅŽÀ‘•‚·‚邯•‰‰×‚ª‘å‚«‚¢‚̂ő¼‚ÌŽè’i‚ð�l‚¦‚Ü‚µ‚½‚ª
”»‚è‚Ü‚¹‚ñ‚Å‚µ‚½�B‚¢‚¢•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚©�H‚¿‚Ȃ݂Ƀvƒ‰ƒbƒgƒtƒH
�[ƒ€‚ÍWin2K‚ÅCygwin‚Å—˜—p‚µ‚Ă܂·�B
0718ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0719–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG> Ruby‚Å�”•bŠÔ�ˆ—�‘Ò‚¿‚ð‚µ‚½‚¢‚̂ł·�B
sleep
> 1.ƒlƒbƒgƒ��[ƒNŒo—R‚Å’[––A‚É�M�†‚ð‘—‚é�B
> 2.�”•b‚¨‚«‚É‚»‚ÌŽÀ�s�I—¹‚ðŠm”F‚µ‚É�s‚�BŠm”F‚Å‚«‚é‚܂ŌJ‚è•Ô‚µ�B
‰½‚ÌŽÀ�s�I—¹? ’[––‚ÍŽÀ�s‚Í‚µ‚È‚¢‚¾‚낤�B
0720ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ç‚à�[�BŠ´ŽÓ‚Å‚·�B
’[––‚É�í’“ƒvƒ�ƒZƒX‚ð’u‚¢‚Ä�Aftp‚ðŠÔ‚É‚©‚Ü‚µ‚ÄI/F‚Ƀtƒ@ƒCƒ‹‚Ì—L–³‚Æ
‚©‚ð—p‚¢�A�Ä‹N“®‚𑽒[––‚ÉŠ|‚¯‚Ä‚¢‚‚Á‚ĂȂł·�BŒ´Žn“I‚ÅŠë‚È‚©‚Á‚µ
‚‚Ä‚©‚Á‚±ˆ«‚¢‚Å‚·‚ª�E�E�B
ping‚ª�Ø‚ê‚é�¨•œŠˆ‚·‚é‚Ì‚ð‘Ò‚Ä�B‚Á‚Ä‚â‚肽‚¢‚È‚Æ�B
‚à‚ЂƂ‚¨�q‚Ë‚µ‚½‚¢‚ñ‚Å‚·‚ª�A�í’“‚Á‚Ă̂͂ǂ¤‚µ‚Ă܂·‚©�H�l‚¦‚½‚Ì‚ª�A
1.‚½‚¾‚̃‹�[ƒv
2.‘¼‚̃vƒ�ƒOƒ‰ƒ€(cron‚Æ‚©)‚©‚ç‹N“®�B
‚Å‚·�B
Ruby“I‚ɃN�[ƒ‹‚È�A‚à‚µ‚‚Í“–‚½‚è‘O‚È•û–@‚Á‚Ă̂͂ǂñ‚È‚ñ‚Å‚µ‚傤‚©�B
0721ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@-----�]�������������������L,.�@�@, ����
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ �@ ,. -- .�A�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ ,.�^�@ !|l�L. :
�@�@�@�@�@�@�@�@�@ �@ �@ �@ �@ �@ �@ ,r:':;ƒmÚÍv�R�@�@�@�@�@�@ �@ �@ �@ �@ �@ �@ ,.r'.::1 �@ i ‚Œ|
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ /;:::f (0�@ r;'i::!�@�@�@�@�@�@�@�@ �@ �@ �@ ,.r'�L:::::::;!�@�@‚‰ |l
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@,i:i::::l.�@ ,....,~'Þi:!�@�@�@�@�@�@�@�@�@ �@ ,r.'�L:::::::::::::i�@�@ ‚Œ' ‚Œ|
�@�@�@�@�@�@ �@ �@ �@ �@ �@ �@ �@ ,!::!:::l �@ '¤,É É:l�@�@�@�@�@�@�@ �@ ,.-'�L::::::::::::::::;r'Þ�@�@,'�@|l
�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@/;::l::::ƒg¤'„¦::':�L::l�@�@�@�@�@ �@ ,.r'�L::::::::::::::::::::::::‚‰�@�@ /�@ ‚Œl
�@�@�@�@�@�@�@�@�@�@�@�@�@�@ /�L�Mi,:i,:::!�@/'�S;¤i;:::l �@ �@ �@ ,.-'�L:::::::::::::::::::::::;:- 'Þ �@ / �@ .ll
�@�@�@�@�@�@�@�@�@�@�@�@�@,ƒm�@ �@ !:�S!�L;;;;l.!;;;;;}::;!�@�@ ,.-'�L:::::::::::::::::::::::::::::/ �@ �@ /�@�@�@l!
�@�@�@�@�@�@�@�@�@�@ �@ ƒ€-.¤ �@ /;;;;;;;;;;;;;l !;;;;;;;�R,.-'�L:::::::::::::::::::::::::::::;:- '�@�@�@, '�@�@�@�@l
�@�@�@�@�@�@�@�@�@�@�@ ,}'�L �@ �R/;;;;;;;;;;;;;;;;;l,l;;;;:-'�L:::::::::::::::::::::::::::::::::;f�L�@�@ �@, '�@�@ �@ �@ !
�@�@�@�@�@�@�@�@�@ �@ /�@�@�@ /';;;;;;;;;;;;;;;;;;;;-'�L::::::::::::::::::::::::::::::::;;;;;ƒm�@�@�@�@,:'
�@�@�@�@�@�@�@�@�@�@/�@�@�@ ,iÞ ;;;;;;;;;;;;;;:-'�L::::::::::::::::::::::::::::::::::;f�L �@ �@ �@ �^
�@�@�@�@�@�@�@�@�@/�@�@�@�@ ! ;;;;;;;;;-'�L:::::::::::::::::::::::::::::::::;:- 'Þ �@ �@ �@ �^
�@�@�@�@�@�@�@�@ /�@�@�@�@./. ;:-'�L:::::::::::::::::::::::::::::::::;;;ƒm�@�@�@�@�@ ,. '�L
�@�@�@�@�@�@�@ ,/�@�@ �@ ./-'�L:::::::::::::::::::::::::::::::::::ƒm�L�@�@�@ �@ ,�@'�L
0722–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG> ’[––‚É�í’“ƒvƒ�ƒZƒX‚ð’u‚¢‚Ä�Aftp‚ðŠÔ‚É‚©‚Ü‚µ‚ÄI/F‚Ƀtƒ@ƒCƒ‹‚Ì—L–³‚Æ
> ‚©‚ð—p‚¢�A�Ä‹N“®‚𑽒[––‚ÉŠ|‚¯‚Ä‚¢‚‚Á‚ĂȂł·�BŒ´Žn“I‚ÅŠë‚È‚©‚Á‚µ
> ‚‚Ä‚©‚Á‚±ˆ«‚¢‚Å‚·‚ª�E�E�B
> ping‚ª�Ø‚ê‚é�¨•œŠˆ‚·‚é‚Ì‚ð‘Ò‚Ä�B‚Á‚Ä‚â‚肽‚¢‚È‚Æ�B
’[––��ƒNƒ‰ƒCƒAƒ“ƒg‚Á‚Ä‚±‚Æ‚©‚È? �Ä‹N“®‚Á‚ăVƒXƒeƒ€‚²‚Æ?
‚Ç‚¤‚¢‚¤‚±‚Æ‚ðˆÓ�}‚µ‚Ä‚é‚Ì‚©‚¢‚Ü‚¢‚¿‚æ‚•ª‚©‚ç‚È‚¢‚ñ‚¾‚ª�B
> ‚à‚ЂƂ‚¨�q‚Ë‚µ‚½‚¢‚ñ‚Å‚·‚ª�A�í’“‚Á‚Ă̂͂ǂ¤‚µ‚Ă܂·‚©�H�l‚¦‚½‚Ì‚ª�A
> 1.‚½‚¾‚̃‹�[ƒv
> 2.‘¼‚̃vƒ�ƒOƒ‰ƒ€(cron‚Æ‚©)‚©‚ç‹N“®�B
> ‚Å‚·�B
> Ruby“I‚ɃN�[ƒ‹‚È�A‚à‚µ‚‚Í“–‚½‚è‘O‚È•û–@‚Á‚Ă̂͂ǂñ‚È‚ñ‚Å‚µ‚傤‚©�B
‚Ç‚Á‚¿‚Å‚à‚¢‚¢‚ñ‚¶‚á‚ñ�B‰^—pŒ`‘ÔŽŸ‘æ‚©‚È�Bruby-talk‚È‚ñ‚©‚¾‚Æ�A‰½“ú‚à
“®‚©‚µ‘±‚¯‚½‚çƒoƒO‚ðŒ©‚Â‚¯‚½�A‚È‚ñ‚Ä‚¢‚Á‚Ä‚é–ÒŽÒ‚à‚¢‚邿‚¤‚¾‚ª�B
˜R‚ê“I‚É‚Í�Acvsup->compile->install‚µ‚½‚ç‘S•”—§‚¿�ã‚°’¼‚µ‚È‚ñ‚Ä–Ê“|‚È
‚Ì‚Å�A“¯‚¶ƒvƒ�ƒZƒX‚ª‚¸‚Á‚Æ‹��À‚Á‚Ä‚µ‚Ü‚¤‚Ì‚Í”ð‚¯‚½‚¢‚¯‚Ç�B
0723ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0724ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0725–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG‚ ‚éƒNƒ‰ƒXklass‚Ì–¼‘O‚È‚çklass.name�B
>>724
‚»‚ê‚Í–¼‘O‚̎擾‚Ƃ͂¿‚å‚Á‚ƈႤ‚µ�Aeach_object‚̈ø�”‚ðŽg‚Á‚½‚Ù‚¤‚ª‚æ‚¢�B
ObjectSpace.each_object(Class) {|i|p i}
0726ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—\–ñ‚Å‚«‚é‚Ì�H
�ìŽÒ‚̃y�[ƒWŒ©‚Ä‚½‚ç�A‚ ‚ñ‚Ü‚è�o‰ñ‚ç‚È‚¢‚©‚à‚Æ‚©
�‘‚¢‚Ä‚½‚©‚çŠmŽÀ‚É“üŽè‚µ‚½‚¢‚̂ł·‚ª�B
0727–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG<http://www.loveruby.net/~aamine/ja/tdiary/20021116.html#p04>
�u‚â‚Ü‚¾‚ ‚«‚炳‚ñ‚̃cƒbƒRƒ~�v‚Á‚Ăǂ±‚¾‚Á‚½‚Á‚¯�B“Ç‚ñ‚¾Šo‚¦‚Í‚ ‚é‚ñ‚¾‚ª�B
0728ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://direct.ips.co.jp/book/Template/Goods/go_BookstempGR.cfm?GM_ID=1721&SPM_ID=1&CM_ID=004000G20&PM_No=&PM_Class=&HN_NO=00420
0729ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0730ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚©‚çŒÄ‚Ñ�o‚¹‚éƒTƒuƒ‹�[ƒ`ƒ“‚̂悤‚È‚à‚Ì‚ð�ì‚肽‚¢‚̂ł·‚ª�A
ƒ�ƒ\ƒbƒh‚̉Ž‹�«‚͂ǂ¤‚·‚ê‚΂悢‚Å‚·‚©?
module Foo
�@def foo
�@�@puts 'foo'
�@end
�@def bar
�@�@foo
�@end
�@module_function :bar
end
‚Æ‚¢‚¤ƒ‚ƒWƒ…�[ƒ‹‚Å Foo::bar ‚Æ‚â‚ê‚Î 'foo' ‚ª�o—Í‚³‚ê�A
Foo::bar ‚Æ‚¢‚¤ŒÄ‚Ñ�o‚µ‚͂ł«‚È‚¢‚悤‚É‚µ‚½‚¢‚̂ł·�B
0731ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�„Foo::bar ‚Æ‚â‚ê‚Î 'foo' ‚ª�o—Í‚³‚ê�A
‚ǂ̃XƒR�[ƒv‚Å
�„Foo::bar ‚Æ‚¢‚¤ŒÄ‚Ñ�o‚µ‚͂ł«‚È‚¢
‚Ì�H
0732ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGFoo::foo‚ªŒÄ‚Ñ�o‚³‚ê‚È‚¢‚悤‚É‚µ‚½‚¢‚ñ‚¾‚æ‚Ë�B�i�DˆÓ‚ÌŒ´—�[principle of charity]‚É�]‚Á‚ĉðŽß�c�j
‚‚܂è�AFooƒ‚ƒWƒ…�[ƒ‹‚Ì’†ˆÈŠO‚©‚ç‚Ífooƒ�ƒ\ƒbƒh‚ɃAƒNƒZƒX‚³‚¹‚½‚‚È‚¢‚Æ�c�B
‚»‚ê‚È‚ç�A‚±‚ê‚łǂ¤‚æ�H
module Hoge
module_function
def moe
puts "moemoe!"
end
def hero
moe
end
class <<self
private :moe
end
end
Hoge.hero
begin
Hoge.moe
rescue Exception => e
puts e
end
-----------------------------------
moemoe!
private method `moe' called for Hoge:Module
‚¤�[‚ñ�A‰½‚©ˆá‚¤‚悤‚È�c�B
0733730
NGNGŠm‚©‚É >>732 ‚̂悤‚È�‘‚«•û‚ÅŽÀŒ»‰Â”\‚Å‚·‚ª�A‚»‚ê‚Á‚Ä�A
“ÁˆÙƒ�ƒ\ƒbƒh‚É‚µ‚Ä‚é�A‚Á‚Ä‚±‚Ƃł·‚æ‚Ë?
‚È‚ñ‚Æ‚©�A‚à‚¤‚¿‚å‚Á‚Æ‚·‚Á‚«‚è‚Æ‚Í�‘‚¯‚È‚¢‚ñ‚Å‚µ‚傤‚©�c�B
�wƒIƒuƒWƒFƒNƒgŽwŒüƒXƒNƒŠƒvƒgŒ¾Œê Ruby�xP.189 ‚É‚æ‚邯�A
private ƒ�ƒ\ƒbƒh‚Í
�@- ƒŒƒV�[ƒo‚ð�È—ª‚µ‚½Œ`Ž®‚Å‚µ‚©ŒÄ‚Ñ�o‚¹‚È‚¢
�@- ŠÖ�”“I‚ÉŽg‚í‚ê‚éƒ�ƒ\ƒbƒh
�@- ˆê”ÊŒöŠJ‚µ‚È‚¢�ì‹Æ—p‚̃�ƒ\ƒbƒh
‚Æ‚ ‚é‚Ì‚Å�A‚Ü‚³‚É‚±‚ꂾ‚Ÿ�A‚ÆŽv‚Á‚½‚̂ł·‚ª�ãŽè‚�s‚©‚È‚¢�B
‚»‚̃‚ƒWƒ…�[ƒ‹“à‚̃�ƒ\ƒbƒh‚ª‹¤’ʂɎg‚¦‚é�ì‹Æ—pŠÖ�”“I‚ȃ�ƒ\ƒbƒh
‚Ȃ̂Å�AFoo::foo ‚Æ‚¢‚¤Œ`‚ÅŠO‚ÉŒ©‚¹‚½‚‚È‚¢‚̂ł·�B
0734ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ¸‚é‚à‚ñ‚Å‚à‚È‚¢‚µ�B
0735730
NGNG‚Ü‚Ÿ�A‚»‚¤‚È‚ñ‚¾‚¯‚Ç(^^;
class ‚¾‚Æ private ‚Å�ãŽè‚‚¢‚‚Ì‚É�Amodule ‚¾‚ƃ_ƒ�‚È‚ñ‚¾‚È‚Ÿ�A
‚ÆŽv‚Á‚Ä�B
0736ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚Ì•K—v‚Í‚ ‚é‚Ì?
‚»‚Ì•K—v‚ª‚È‚‚Ä�AJava‚Å‚¢‚¤‚Æ‚±‚ë‚Ìstaticƒ�ƒ\ƒbƒh‚Å‚ ‚肳‚¦
‚·‚ê‚΂¢‚¢‚È‚ç�A
module Foo
class << self
def foo
puts 'foo'
end
private :foo
def bar
foo
end
end
end
‚Å‚¢‚¢‚ñ‚¶‚á‚È‚¢‚Ì?
‘½•ªƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Æ“ÁˆÙƒ�ƒ\ƒbƒh‚ðŒë‰ð‚µ‚Ä‚¢‚邯Žv‚¤�B
Ruby‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚Í�A‚»‚ÌClass or Module‚Ì“ÁˆÙƒ�ƒ\ƒbƒh‚¾‚æ�B
0738ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGmatch = Regexp.new(/uto|ati|ato/)
‚Æ‚¢‚¤‚悤‚È�ðŒ�‚Å�A�³‹K•\Œ»‚Ƀ}ƒbƒ`‚·‚é t ‚̈ʒu‚ð’m‚肽‚¢‚̂ł·‚ª�A
‚Ç‚¤‚·‚ê‚΂æ‚낵‚¢‚Å‚µ‚傤‚©�B
�ã‚Ì—á‚Å‚Í�A9,13,21 ‚Å‚·�B
0739ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGfor i in 10
ensure
�@...
end
‚Æ‚©�‘‚«‚½‚‚È‚é�Bbegin/endƒuƒ�ƒbƒN‚È‚ç
def‚¾‚낤‚ªfor‚¾‚낤‚ª‘S‚Ä“�ˆê“I‚É�‘‚¯‚½‚̂ɂË�B
0740ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGMatchData#begin(n)
0741738
NGNG�î•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
ˆÈ‰º‚̂悤‚É‚â‚Á‚Ä�A‚Æ‚è‚ ‚¦‚¸–Ú“I‚͉ʂ½‚¹‚½‚̂ł·‚ª�A
‚È‚ñ‚©�AˆêЇ‚µ‚Ä‚â‚é•û–@‚ª‚ ‚è‚»‚¤‚Å‚·�B
‚à‚µ‚²‘¶’m‚Å‚µ‚½‚狳‚¦‚Ä‚‚¾‚³‚¢�B
str = "It is automatic potato"
/(uto)/ =~ str
puts $~.begin(1)
/(ati)/ =~ str
puts $~.begin(1)
/(ato)/ =~ str
puts $~.begin(1)
0742ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGpat = ["uto", "ati", "ato"]
str = "It is automatic potato"
pat.map{|i| str.index(i)} #=> [7, 11, 19]
0743ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG/(uto).*(ati).*(ato)/ =~ str
Regexp.last_match.begin(1)
Regexp.last_match.begin(2)
Regexp.last_match.begin(3)
0744738
NGNG‚Ç‚¤‚à‚Å‚·�B
�³‹K•\Œ»‚Í‚»‚ꂾ‚¯‚ňê�û‚Ì–{‚ª�‘‚¯‚é‚킯‚¾�A‚ÆŽv‚¢‚Ü‚µ‚½�B
Žg‚¢‚±‚È‚¹‚邿‚¤‚ɕ׋‚µ‚Ü‚·�B
0745738
NGNGputs "automatic".scan(/((au|ma)t[io])/)‚Å
auto
au
mati
ma
‚ƃ}ƒbƒ`‚µ‚Ü‚·‚ª�A
auto ‚Æ mati ‚¾‚¯‚Ƀ}ƒbƒ`‚·‚é•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©�B
0746ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¶‚Ⴞ‚ß�H
Ž©“®ƒWƒƒƒKƒCƒ‚‚Á‚ĂȂñ‚È‚ñ‚¾�E�E�E�E
0747738
NGNGŽÀ�Û‚Í t ‚æ‚è�¶‘¤‚Ì•”•ª‚ð•¡�”Žw’肵‚½‚¢‚̂ł·�B
‘S‚Ă̑g‚Ý�‡‚킹‚ð‹L�q‚·‚é‚͖̂ʓ|‚ł₾‚È‚Ÿ�A‚Æ‚¢‚¤�󋵂ł·�B
puts "caution automatic potato action".scan(/((ac|po|ta|au|ma)t[io])/)
auti
au
auto
au
mati
ma
tato
ta
acti
ac
‚Å�Aau, au, ma, ta, ac ‚ɂ̓}ƒbƒ`‚µ‚Ăقµ‚‚È‚¢‚̂ł·‚ª�A
‚»‚¤‚·‚邯ˆÈ‰º‚̂悤‚É�‘‚‚µ‚©‚È‚¢‚̂ł·‚©‚Ë�B
puts "caution automatic potato action".scan(/acti|acto|poti|poto|tati|tato|auti|auto|mati|mato/)
auti
auto
mati
tato
acti
‚ �AƒWƒƒƒKˆð‚Í‹C‚É‚µ‚È‚¢‚Å‚‚¾‚³‚¢�B
�¡“ú‚̓JƒŒ�[‚Å‚µ‚½�B
0748ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGputs "caution automatic potato action".scan(/((?:ac|po|ta|au|ma)t[io])/)
0749ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–{“–‚͉½‚ð‚µ‚½‚¢‚Ì‚©�A‚·‚Á‚©‚è‘S•”˜b‚µ‚Ä‚²‚ç‚ñ�H
0750ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGputs "caution automatic potato action".scan(/(?:ac|po|ta|au|ma)t[io]/)
‘S‘Ì‚ðˆÍ‚ÞŠ‡ŒÊ‚Í‚¢‚ç‚È‚¢‚©‚È�B
�Å�‰(?: )‚ð’m‚ç‚È‚‚Ä
hoge = []
"caution automatic potato action".gsub(/(ac|po|ta|au|ma)t[io]/){|x| hoge.push x}
puts hoge
‚È‚ñ‚Ă̂ð�‘‚¢‚Ä‚µ‚Ü‚Á‚½�B
0751738
NGNGŽÀ‚Í�A‰pŒê‚Ì”‰¹•ω»‚ð•\ަ‚·‚éƒvƒ�ƒOƒ‰ƒ€‚ð�ì‚é‚Ì‚ª–Ú“I‚Å‚·�B
—Ⴆ‚Î�A•ꉹ‚É‹²‚܂ꂽ t ‚͉¹‚ª•ω»‚·‚é‚̂ł·‚ª�A
automatic ‚Ì t ‚͕ꉹ‚É‹²‚Ü‚ê‚Ä‚¢‚Ä�A‰¹‚ª•ω»‚µ‚Ü‚·�B
‚¯‚Ç�Acaution ‚Í’PŒê‚¾‚¯Œ©‚邯 uti ‚Å t ‚ª•ꉹ‚É‹²‚Ü‚ê‚Ä‚¢‚邿‚¤‚Å‚·‚ª�A
ŽÀ�Û‚Í�Atio ‚Ì•”•ª‚ÍŽq‰¹‚Å�At ‚̉¹‚ª‚»‚à‚»‚à‚ ‚è‚Ü‚¹‚ñ�B
‚Æ‚¢‚¤‚킯‚Å�A”‰¹Ž«�‘‚ðŽQ�Æ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·�B
‚»‚Ì”‰¹Ž«�‘‚Í�A
automatic => AO2 T AH0 M AE1 T IH0 K
caution => K AA1 SH AH0 N
‚Æ‚¢‚¤‚悤‚È�‘Ž®‚ɂȂÁ‚Ä‚¢‚Ü‚·�B(�”Žš‚̓AƒNƒZƒ“ƒg)
‚Å�A‚â‚Á‚Ä‚¢‚é‚Ì‚Í�A•ꉹ‚É‹²‚܂ꂽt ‚Æ‚¢‚¤ƒpƒ^�[ƒ“‚É
AO2 T AH0 ‚Æ AE1 T IH0 ‚Ì•”•ª‚ªƒ}ƒbƒ`‚·‚é‚Ì‚Å�A
‚±‚Ì t ‚͉¹‚ª•ω»‚·‚邯‚¢‚¤‚±‚Ƃł·�B
�¡‚Í’PŒê“à‚¾‚¯‚ðŒ©‚Ä‚¢‚é‚̂ł·‚ª�AŽŸ‚̉ۑè‚Í•¶‘S‘Ì‚àŒ©‚邱‚Ƃł·�B
It is automatic
‚Æ‚¢‚¤•¶‚¾‚Æ�AIt is ‚Ì t ‚à•ꉹ‚É‹²‚Ü‚ê‚Ä‚¢‚Ü‚·�B
‚Å�A2, 9, 13 ‚Æ t ‚̈ʒu‚𓾂½‚¢‚킯‚Å‚·�B
”‰¹Ž«�‘‚Å‚Í
It => IH1 T
is => IH1 Z
automatic => AO2 T AH0 M AE1 T IH0 K
‚ƂȂÁ‚Ä‚¢‚Ü‚·�B
0752730
NGNG> >>730 ‚¾‚Æ bar ‚ª Foo ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚Å‚à‚ ‚邯‚Ç�A
> ‚»‚Ì•K—v‚Í‚ ‚é‚Ì?
module ‚̓Cƒ“ƒXƒ^ƒ“ƒX‚ðŽ�‚ĂȂ¢‚Ì‚Å�AFoo ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh
‚Á‚Ă͖̂³‚¢‚ÆŽv‚Á‚Ä‚¢‚½‚̂ł·‚ª�Aˆá‚¤‚̂łµ‚傤‚©?
class ‚É include ‚³‚ꂽ�ê�‡‚É�A‚»‚Ì class ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh
‚Æ‚µ‚Ä—˜—p‰Â”\�A‚Æ‚¢‚¤ˆÓ–¡‚Å‚µ‚傤‚©?
0753–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG> class ‚É include ‚³‚ꂽ�ê�‡‚É�A‚»‚Ì class ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh
> ‚Æ‚µ‚Ä—˜—p‰Â”\�A‚Æ‚¢‚¤ˆÓ–¡‚Å‚µ‚傤‚©?
‚»‚¤�B‚ ‚é‚¢‚Íextend‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚Ì“ÁˆÙƒ�ƒ\ƒbƒh�B
0754ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‘å‚«‚³‚̓MƒKƒoƒCƒgƒNƒ‰ƒX‚Å‚·�B•�’ʂɂâ‚Á‚½‚çƒXƒ�ƒbƒv‚µ‚Ü‚‚è‚ÅŽg‚¢•¨‚É
‚È‚è‚Ü‚¹‚ñ‚Å‚µ‚½�BƒfƒBƒXƒN‚Ƀ}ƒbƒv‚µ‚Ä�A“K“x‚ɃLƒƒƒbƒVƒ…‚µ‚Ä‚‚ê‚é‚à‚Ì‚ª
‚ ‚邯—Ç‚¢‚̂ł·‚ª�B
0755ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby/Cache ‚ðŽQ�l‚É‚µ‚Ă݂½‚ç�H
0756ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—Ⴆ‚Î�AˆÈ‰º‚̂悤‚ȃNƒ‰ƒX‚È‚ñ‚Å‚·‚ª
class A
def initialize
@hash = {}
i = 0
['a','b','c'].each { |k|
hash[k] = i+=1
}
end
end
‚±‚ê‚ð�AˆÈ‰º‚̃Nƒ‰ƒX‚Æ“¯‚¶‚悤‚É“®‚‚悤‚É‚µ‚½‚¢‚Å‚·�B
class A
def initialize
@a = 1
@b = 2
@c = 3
end
attr_reader :a, :b, :c
end
‰½‚©‚æ‚¢•û–@‚ ‚è‚Ü‚·‚©�B
0757–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNG‚ ‚é‚¢‚̓L�[�”‚©‚炵‚Ä‹�‘å‚È‚çdbm‚Æ‚©�B
0758–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGclass A
%w[a b c].each {|k| eval "def #{k}; @hash['#{k}']; end"}
end
0759ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¿‚å‚Á‚Æ�d‚‚Ȃ邪�Amethod_missing‚ð�Ä’è‹`‚·‚é‚Á‚ÄŽè‚à‚ ‚é�B
class A
#......initialize‚È‚Ç
def method_missing(methId)
@hash[methId.id2name]
end
end
‚±‚Ì�ê�‡�A�‰‚ß‚©‚çhash‚̃L�[‚ɃVƒ“ƒ{ƒ‹‚ðŽg‚Á‚½•û‚ª‚¢‚¢‚©‚à�B
‚ ‚Æ‚Í�AŽ©•ª‚ŃGƒ‰�[‚Æ‚©‚ð—pˆÓ‚µ‚ë�B
0760–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü
NGNGƒL�[‚ðƒVƒ“ƒ{ƒ‹‚É‚µ‚Ä‚¢‚¢‚È‚çOpenStruct‚ð—¬—p‚·‚é‚Á‚Ă̂Í�B
require 'ostruct'
class A < OpenStruct
def initialize
super(:a=>1, :b=>2, :c=>3)
end
def to_hash
@table
end
end
0761ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚̃XƒŒ‚Ì�l‚ÍRuby‚µ‚©Žg‚í‚È‚¢�H
0762ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ñ‚Å‚½‚܂ɂµ‚©Žg‚í‚È‚¢‚à‚ñ‚¾‚©‚ç�F�X–Y‚ê‚ĂĎžŠÔ‚ª‚©‚©‚é�B
0763759
NGNG‚»‚ñ‚Ȃ̂ª‚ ‚Á‚½‚Ì‚Ë�c�B‚µ‚ç‚È‚©‚Á‚½�B
‚Ü‚ �Aostruct.rb‚ð‚Ý‚é‚Æ“¯‚¶Ž–‚ð‚â‚Á‚Ä‚¢‚邾‚¯‚¾‚©‚ç�A
—¬—p‚¹‚¸‚ɓƎ©‚Å‚â‚é‚È‚çostruct.rb‚̃\�[ƒX‚ðŽQ�l‚É‚µ‚Ă݂ĉº‚³‚¢�B�„756
ƒXƒ^ƒCƒ‹‚Å”wŒi�F‚ðŽw’肵‚Ä‚à˜g‚µ‚©�F‚ª•Ï‚í‚ç‚È‚¢‚Å‚Â�B
text.insert(ƒtƒHƒ“ƒg, ‘OŒi�F, ”wŒi�F, •¶Žš—ñ)‚Å�F‚ð‚‚¯‚Ä‚à�A
•¶Žš—ñ‚Ì•”•ª‚¾‚¯‚µ‚©�F‚ª•Ï‚í‚ç‚È‚¢‚ۥߥ(É„D`)¥ß¥
‚Ü‚¾ŽÀ‘•‚³‚ê‚ĂȂ¢‚Á‚Û‚¢‚¯‚Ç�AGtk+2‚ÌGtkTextView‚Ý‚½‚¢‚È‚±‚Æ‚ª‚µ‚½‚¢‚¯‚Ç�A
Ž©•ª‚ŃNƒ‰ƒX�ì‚ç‚È‚¢‚Æ–³—�‚Û�H
ttp://www-6.ibm.com/jp/developerworks/linux/020315/j_l-gnome1.html#10
0765738
NGNG“o˜^‚µ‚Ü‚µ‚½�B
‚±‚ê‚ð�Aƒvƒ�ƒOƒ‰ƒ€‚ð‹N“®‚·‚邽‚Ñ‚ÉHash‚É“o˜^‚·‚é‚̂ł͂Ȃ�A
Hash‚ðƒtƒ@ƒCƒ‹‚È‚è‚ɕۑ¶‚µ‚Ä‹N“®Žž‚ɓǂÝ�ž‚Þ‚Æ‚¢‚¤‚±‚Æ‚Í
‰Â”\‚Å‚µ‚傤‚©�B
0766ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0767738
NGNG�î•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
“–•û�AActiveScriptRuby ‚ðŽg‚Á‚Ä‚¢‚Ü‚·‚ª�A
require 'dbm' ‚ɑ΂µ‚Ä�A
1:in `require': No such file to load -- dbm (LoadError)
‚È‚éƒGƒ‰�[‚ª�o‚Ü‚·�B
‚´‚Á‚ÆWeb‚𒲂ׂ½‚̂ł·‚ª�A‚à‚µ‚©‚·‚邯
Windows ‚ŃTƒ|�[ƒg‚³‚ê‚ĂȂ¢‹@”\‚Ȃ̂ł͂Ȃ¢‚Å‚µ‚傤‚©�B
0768ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGruby 1.6.7 (2002-03-01) [i686-cygwin]
‚Å‚Í�A‚¿‚á‚ñ‚Æ“®‚¢‚½‚æ�B
ƒo�[ƒWƒ‡ƒ“‚ªŒÃ‚¢‚Æ‚©‚͂Ȃ¢‚©�H
‚»‚ê‚©�Amswin32”Å‚Æcygwin”ł̈Ⴂ‚Æ‚¢‚¤‚Ì‚à‚ ‚é‚©‚à’m‚ê‚È‚¢�B
ActiveScriptRuby‚¶‚á‚È‚«‚á‚¢‚¯‚È‚¢—�—R‚ª‚È‚¢‚̂Ȃç�A
�§ŒÀ‚ª�‚È‚¢cygwin”Å‚ðŽg‚Á‚½•û‚ª‚¢‚¢‚©‚à�B
0769ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGrequire 'sdbm'‚¶‚á‚Ç‚¤?
0770ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0771ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’ñˆÄ‚µ‚Ă݂ê‚Î?
do/end‚Å‚àrescue/ensure‚ðŽg‚¦‚邿‚¤‚É‚µ‚Ăقµ‚¢‚Á‚Ă̂ªrubygarden‚É‚ ‚Á
‚½‚¯‚Ç�A‚ ‚ê‚à‚Ç‚¤‚È‚Á‚Ä‚é‚ñ‚¾‚©�B
0772ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒf�[ƒ^‚ªŒ‹�\‘å‚«‚¢‚©‚ç�AMarshal‚œǂނ̂à‚â‚â�d‚¢‚悤‚È‹C‚ª‚·‚é‚ñ‚¾‚ª�B
0773ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG3.5M‚®‚ç‚¢‚Ȃ炽‚¢‚µ‚½‚±‚ƂȂ¢�B
‚Á‚ÄŽv‚¤‚¯‚Ç�B
0774ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ĉê“x“Ç‚Ý�ž‚ñ‚¾‚炸‚Á‚ƃvƒ�ƒZƒX‚ª“®‚¢‚Ă邯‚©�Aƒ�ƒ‚ƒŠ‚ª—]‚è‚Ü‚‚Á‚Ä‚é
‚Æ‚©‚È‚çHash‚ªƒxƒXƒg‚È‚ñ‚¾‚¯‚Ç‚Ë�B
‚Ü‚ŸŽg‚¢•ûŽŸ‘æ�B
0775738
NGNGcygwin”ÅRuby DBM ‚ª“®‚‚±‚Æ‚ðŠm”F‚µ‚Ü‚µ‚½�B
‚Å‚à�Acygwin”Å‚¾‚Æ win32ole ‚â Exerb ‚ªŽg‚¦‚È‚¢‚悤‚Å‚·‚Ë�B
‚ ‚¿‚ç—§‚Ä‚ê‚΂±‚¿‚ç—§‚½‚¸‚Å‚·�B
0776ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGGDBM Library (Win32 Port) <http://www.roth.net/libs/gdbm/>
‚¢‚ê‚Äext/dbm‚Æ‚©ext/gdbmƒRƒ“ƒpƒCƒ‹‚µ‚Ă݂ê‚Î?
0777738
NGNG>769
‚¨‚§�A‚³‚‚Á‚Æ“®‚«‚Ü‚µ‚½�B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
ƒŠƒtƒ@ƒŒƒ“ƒXƒ}ƒjƒ…ƒAƒ‹‚É�A
>SDBM
>DBM‚Æ“¯‚¶‚Å‚·‚ª�AŠO•”‚̃‰ƒCƒuƒ‰ƒŠ‚Ɉˑ¶‚µ‚È‚¢‚̂łǂ̊‹«‚Å‚àŽÀ�s‚Å‚«‚邯‚¢‚¤—˜“_‚ª‚ ‚è‚Ü‚·�B
‚Æ‚ ‚è‚Ü‚·‚Ë�B
’N‚©‚ÌŽQ�l‚ɂȂ邩‚à‚µ‚ê‚È‚¢‚©‚çƒR�[ƒh‚ð�‘‚¢‚Ä‚¨‚«‚Ü‚·�B
require 'sdbm'
text=open("C:\\ProDic.txt")
prnDct = SDBM.open("ProDic")
while line = text.gets
element = line.chop.split(/,/)
prnDic[element[0]] = element[1] << "," << element[2]
end
prnDct.close()
text.close
>770, 772-774
Marshal ‚Å‚·‚©�B‚¢‚ë‚¢‚ë•׋‚ɂȂè‚Ü‚·�B
0778ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> element = line.chop.split(/,/)
> prnDic[element[0]] = element[1] << "," << element[2]
element = line.chomp.split(/,/, 2)
prnDic[element[0]] = element[1]
0779ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGdbm/gdbm ‚ªŽg‚¢‚½‚¢‚È‚ç mingw32 ”Å‚©‚È�B
0780779
NGNG0781ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0782ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0783ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1998/12/24 1.3
1999/12/25 --
2000/12/25 1.6.2
2001/12/25 1.6.6
2002/12/25 ‚È‚ñ‚¾‚낤�H
0784ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚Ì•ª‚¾‚Æ1.6.8�³Ž®ƒŠƒŠ�[ƒX�B
0785ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGFile.exist?(File.expand_path("~/foo.txt"))
‚Æ‚©‚ß‚ñ‚Ç‚‚³‚¢‚ñ‚¾‚¯‚Ç�B
0786ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0787ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽÀ�Û‚â‚Á‚Ă݂½‚ç ~ ‚Á‚ăfƒBƒŒƒNƒgƒŠ�ì‚ê‚é‚ñ‚¾‚È‚Ÿ�B
‚Ü‚¬‚ç‚킵‚¢‚©‚ç�ì‚ê‚È‚‚Ä‚¢‚¢‚Ì‚É�B
0788ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ǂ̊‹«‚ÅŽŽ‚µ‚Ä‚é‚Ì‚©’m‚ç‚È‚¢‚¯‚Ç�AWindows‚È‚ñ‚ÄSFN‚Å~Žg‚¢‚Ü‚‚è‚Å‚·‚ª�B
0789ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGshell‚ª�A‚à‚µ‚‚̓†�[ƒU‚©‚ç‚Ì“ü—Í‚ðŽó‚¯•t‚¯‚鎞“_‚ʼnðŽß‚·‚ׂ«
‚à‚Ì‚Å�A‚»‚ÌŒã‚Í�l—¶‚·‚ׂ«‚ł͂Ȃ¢‚©‚ç�B
0790ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0791ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹t‘o‹È�üŠÖ�”‚ÍŽg‚¦‚È‚¢‚ñ‚Å‚µ‚傤‚©�H
Ž©•ª‚Å�ì‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ñ‚Å‚µ‚傤‚©�H
0792ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.7 ‚¾‚Æ Math ƒ‚ƒWƒ…�[ƒ‹‚É“ü‚Á‚Ä‚é�B
1.6 ‚¾‚Á‚½‚玩•ª‚Å�‘‚¢‚ĒljÁ‚µ‚½‚ç�B
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Math
0794ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGshim‚É‚ ‚é‚©‚ÆŽv‚Á‚½‚ç�A‚È‚¢‚È�B
0795ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0796ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG*nix‚æ‚‚í‚©‚ç‚ñ‚¯‚Ç‚³�A‚‚܂è�A
>>785‚Ý‚½‚¢‚ȃjƒ‡ƒ�•t‚«‚̃pƒXŽw’è‚Í�Ashell‚Ì“ü‚Á‚ĂȂ¢
ƒAƒJƒEƒ“ƒg‚ł͂â‚Á‚¿‚á‚¢‚¯‚È‚¢‚Á‚Ä‚±‚Æ�H
‚»‚ê‚Æ‚à‚»‚Ì�ê�‡‚̓fƒtƒHƒ‹ƒg‚Å—§‚¿‚ ‚ª‚éshell‚Ý‚½‚¢‚Ȃ̂ª
‚ ‚é‚Ì‚©‚È�H
0797ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.7 early access kit
http://www.ruby-lang.org/~knu/cgi-bin/cvsweb.cgi/shim/
‰º‚̂ق¤‚ÉzipƒA�[ƒJƒCƒu‚ÌƒŠƒ“ƒN‚à‚ ‚é
0798ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒAƒJƒEƒ“ƒg? ƒ†�[ƒU‚ª‘¶�Ý‚·‚ê‚Îshell‚ÌŽw’è‚ÍŠÖŒW‚È‚¢‚ª�c�B
~(ƒ`ƒ‹ƒ_)Žw’è‚ÍŒ³�Xshell‚Ì‹@”\‚¾‚©‚ç�AƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Å“n‚·‚Æ‚«‚ɂ͂·‚Å
‚É“WŠJ‚³‚ê‚Ä‚¢‚é‚à‚Ì�B
“à•”“I‚ÉŽg‚¢‚½‚¢‚Æ‚«‚É‚Í�A>>785‚̂悤‚ÉFile.expand_path‚ðŽg‚¤�B
0799RHG””„‹L”Oage
NGNGƒŒƒrƒ…�[‚«‚Ú‚ñ‚Ê
0800ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0801ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’m‚ç‚È‚¢ŠÔ‚É�A‚Ü‚½‰½�û‚©–{‚ª�o‚Ä‚é‚È�B
RHG, The Ruby Way“ú–{Œê”Å, eRuby–{�B
0802ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŠw�¶‚³‚ñ‚ª�‘‚¢‚½ XML ‚Ì–{‚Ü‚Å�A�A�A
0803ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRHG ‚Í‚«‚¿‚ñ‚Ɠǂñ‚łȂ¢‚¯‚Ç�A“ǂݕ¨‚Æ‚µ‚Ă͂Ȃ©‚È‚©–Ê”’‚¢�B‚±‚¤‚¢‚¤–{‚Í�D‚«�B
0804ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆêŒ¾‚Å‚¢‚¤‚Æ�u‚·‚²‚¢�v�B
‚±‚±‚܂ŖȖ§‚É�‘‚«�ž‚ñ‚ł邯‚Í�A—\‘z‚ð�ã‰ñ‚Á‚Ä‚¢‚½�B
‚Â�[‚©�A”„‚ê‚ñ‚Ì‚©‚±‚Ì–{�B
0805ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚Ì–{‚¨‚à‚µ‚ë‚¢‚Ë‚¦�B‚µ‚©‚µ‘è�Þ‚Í ruby ‚¾‚ª�Aˆê”Ê ruby ƒ†�[ƒUŒü‚¯‚¶‚á
‚È‚¢‚È�B‚Þ‚µ‚ë C ƒvƒ�ƒOƒ‰ƒ}‚©�AŒ¾Œê�ˆ—�Œn‚ð�ì‚Á‚Ä‚¢‚é�lŒü‚«‚È‹C‚ª�B
0806ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤‚ñ�ARuby‚ð‘è�Þ‚É‚µ‚½Hacking Guide‚¾‚È�A‚ ‚ê‚͂܂³‚µ‚�B
‚Å‚àYahoo!‚Å‚¢‚«‚È‚è5ˆÊ‚Á‚Ă̂͗\‘zŠO‚É”„‚ê‚Ä‚é�B
0807‚q‚•‚‚‚‰‚“‚”�—•”’·
NGNG‹àŒõƒNƒ“‚É‚æ‚낵‚Œ¾‚Á‚Ä‚¨‚¢‚Ä‚‚ê‚æ�B
0808ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0809ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0810ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0811ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG˜R‚ê‚à‚Ü‚¾“ǂ݂«‚Á‚ĂȂ¢�B–§“x�‚‚·‚¬‚¾‚悱‚ê�B
0812ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒvƒ�ƒOƒ‰ƒ~ƒ“ƒO—ï‚͂ǂꂂ炢‚Ȃ̂łµ‚傤�B
�‚µŽ¹“i‚µ‚Ü‚µ‚½�B
0813ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽá‚¢‚Å‚µ‚傤�B
Ruby‚Å—¯”N‚µ‚½‘åŠw�¶‚Á‚Ä‚‚ç‚¢‚Å‚·‚©‚ç�B
0814ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒp�[ƒTƒWƒFƒlƒŒ�[ƒ^‚ÌRacc‚ª‚Ù‚Ú�Å�‰‚ÌŽ©�ìƒvƒ�ƒOƒ‰ƒ€�v‚Æ�‘‚¢‚Ä
‚ ‚é�B
0815ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0816ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Â�[‚©�A‚Ç‚±‚©‚µ‚±‚ÉŒ©‚¦‰B‚ê‚·‚étDiary‚Á‚Û‚³‚ª‚â‚邹‚È‚¢�B
0817ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Â�[‚©�Aruby-talk ‚Å‚à�B�B
0818ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGs/‚Ç‚±‚©‚µ‚±/‚»‚±‚©‚µ‚±/
0819ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby‚̃XƒŒ‚È‚ñ‚¾‚©‚ç�A
sub(/‚Ç‚±‚©‚µ‚±/, "‚»‚±‚©‚µ‚±")
‚Æ�‘‚¢‚Ä—~‚µ‚¢Îß�c
0820ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�i*ß�¤ß�j“–‚½‚è‘O‚¾‚ë
0821ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGGNU cal‚Å3ƒ–ŒŽ•\ަ(cal -3)‚µ‚Ä
cal -3 | sed "s/^\(.\{21,42\}\) \(`date +%_d`\) \(.*\)$/\1 ^[[44m\2^[[0m \3/"
‚ŃnƒCƒ‰ƒCƒg•\ަ‚Ȃ̂ł·‚ª�A
‚±‚ê‚ðruby‚Å‚â‚é�ê�‡�A‚Ç‚ñ‚ȃR�[ƒh‚ɂȂé‚Å‚µ‚傤‚©�H
ŽQ�l�F
% cat position.rb
#!/usr/local/bin/ruby
POS=15
while gets()
$_[0,POS]=$_[0,POS]+'|'
print $_
end
0822ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGtab_index = 0 unless tab_index
tab ‚ð’T‚µ‚Ä�A–³‚©‚Á‚½‚ç 0 ‚ð•Ô‚µ‚Ăقµ‚¢‚ñ‚¾‚¯‚Ç�Anil ‚ª‹A‚é‚Ý‚½‚¢‚¾�B
ƒRƒŒ‚ðˆê�s‚Ńvƒ�ƒOƒ‰ƒ€‚·‚éŽè‚͂Ȃ¢‚Å‚·‚©
0823ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG•ÏŠ·‚Å‚«‚é•Ö—˜‚ȃc�[ƒ‹‚È‚ñ‚ĂȂ¢‚Å‚·‚©�H
C‚ðruby‚ɕϊ·‚Å‚«‚邯‚©‚»‚Ì‹t‚Å‚à‚¢‚¢‚ñ‚ñ‚Å‚·‚ª�E�E�E�B
’m‚Á‚Ä‚é•û‚¢‚½‚çƒAƒh‹³‚¦‚Ä‚‚¾‚³‚¢�B
0824ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> tab_index = line.rindex("\t")
> tab_index = 0 unless tab_index
�u||�v‚ðŽg‚¦‚΂¢‚¢�BŽŸ‚̂ǂÁ‚¿‚©�D‚«‚Ȃق¤Žg‚Á‚Ä�B
tab_index = (line.rindex(/\t/) || 0)
tab_index = line.rindex(/\t/) || 0
Ž¿–â‚Æ‚ÍŠÖŒW‚È‚¢‚Æ‚±‚¾‚¯‚Ç�A•¶Žš—ñ’T�õƒ�ƒ\ƒbƒh‚̈ø�”‚É‚Í
�³‹K•\Œ»‚ð“n‚µ‚Æ‚¢‚½‚Ù‚¤‚ª–³“ï�BŽÀ‚Í�³‹K•\Œ»‚ɃRƒ“ƒpƒCƒ‹
‚³‚ê‚Ü‚·�`‚Æ‚©‚¢‚¤‚±‚Æ‚ª‚ ‚é‚©‚ç�B
0825ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGtab_index = line.rindex(/\t/).to_i
0826ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> GNU cal‚Å3ƒ–ŒŽ•\ަ(cal -3)‚µ‚Ä
> cal -3 | sed "s/^\(.\{21,42\}\) \(`date +%_d`\) \(.*\)$/\1 ^[[44m\2^[[0m \3/"
> ‚ŃnƒCƒ‰ƒCƒg•\ަ‚Ȃ̂ł·‚ª�A
�¡“ú‚Ì“ú•t‚ðƒnƒCƒ‰ƒCƒg‚µ‚½‚¢‚Á‚Ä‚±‚Æ?
d = "%2d" % Time.now.day
IO.foreach("|cal -3") do |l|
�@puts l.sub(/^(.{21,42} )(#{d})\b/) {$1+"\e[44m"+$2+"\e[0m"}
end
0827ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–³—��B
>>824
‚‚©�A\t ‚ÅŽn‚Ü‚é•¶Žš—ñ‚Æ \t ‚ª‚È‚¢•¶Žš—ñ‚Ì‹æ•Ê‚ª‚‚©‚È‚¢‚悤‚È�B
0828821
NGNG‚Ç‚¤‚à‚Å‚·!•׋‚ɂȂè‚Ü‚µ‚½�B
�¡�A‚³‚ç‚ɕ׋‚Ì‚½‚ß�A
‡@2000/7/3‚͉½—j“ú‚Å‚ ‚Á‚½‚©?
‡AWEB�ã‚Ì7/3(‰Î)‚Æ‚¢‚¤�î•ñ‚͉½”N‚Ì‚à‚Ì‚©?
‚Ì‹@”\‚ð‚•t‚¯‰Á‚¦‚½‚à‚Ì‚ð�l‚¦‚Ä‚¢‚Ü‚·�B
‚Æ‚±‚ë‚Å�A‡@‚̂悤‚È‹@”\‚Í�l‚¦•û‚Æ‚µ‚Ä‚Í
7ŒŽ 2000
“ú ŒŽ ‰Î �… –Ø ‹à “y
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
‚Æ‚¢‚¤�o—Í‚©‚ç3‚ðƒ}ƒbƒ`‚³‚¹‚Ä�A�ã‚Ì�uŒŽ�v‚ð�o—Í‚·‚é
‚Æ‚¢‚¤•û–@‚͈ê”Ê“I‚Å‚·‚©?
‚Ù‚©‚ÉŠÈ’P‚È•û–@‚ ‚è‚»‚¤‚Å‚·‚ª‚Ç‚¤‚Å‚µ‚傤�B
0829ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG------------
% cal 11 2 2002
Žg‚¢•û: cal [-mjyV] [“ú ŒŽ ”N]
------------
‚Ì[“ú ŒŽ ”N]‚Ì�A�u“ú�v‚Á‚ĉ½‚È‚Ì?
“ú‚܂Ŏw’è‚Å‚«‚È‚¢‚æ‚Ë?
0830ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ‚Æ‚¢‚¤�o—Í‚©‚ç3‚ðƒ}ƒbƒ`‚³‚¹‚Ä�A�ã‚Ì�uŒŽ�v‚ð�o—Í‚·‚é
> ‚Æ‚¢‚¤•û–@‚͈ê”Ê“I‚Å‚·‚©?
ˆê”Ê“I‚ł͂Ȃ¢�B
require 'date'
puts %w[“ú ŒŽ ‰Î �… –Ø ‹à “y][Date.new(2000, 7, 3).wday]
0831ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0832ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0833ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ñ‚ÅŽg—pŠ´‚͂ǂ¤‚È‚ñ‚Å‚µ‚å�H
0834ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGperl‚ªRuby‚ɕϊ·‚Å‚«‚½‚ç‚à‚Á‚Æ‚¤‚ꂵ‚¢‚ñ‚Å‚·‚ª�E�E�E�B‚Ç�[‚µ‚悤‚à‚È‚¢Ž¿–â‚Å‚·‚¢‚Ü‚¹‚ñ�B
0835ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Ç‚¤‚à—�‰ð�o—ˆ‚¸‚É�E�E�E�BCŒ¾Œê‚Í‚»‚±‚»‚±Ž©�M‚ ‚é‚ñ‚Å�A‚à‚µ‚»‚ñ‚È
ƒ\ƒtƒg‚ª‚ ‚ê‚Î‚à‚¤�‚µRuby‚à—�‰ð‚Å‚«‚é‚ñ‚¶‚á‚È‚¢‚È‚Æ�E�E�E�B
Œ¾‚¢–ó‚©‚È�H
0836ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://www.amazon.co.jp/exec/obidos/ASIN/4797314087/
‚Å‚à“ǂ߂΂¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚Ì�[�B
0837ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGperl‚̃vƒ�ƒOƒ‰ƒ€‚ðC‚ɕϊ·‚·‚鎖‚ɉ½‚ÌŠÖŒW‚ª‚ ‚é‚Ì‚¾‚낤‚©�c
0838ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚ÌŒ¾—t‚̈Ӗ¡‚ð�L‚°‚邯�A‚Ù‚©‚ÌŒ¾Œê‚©‚ç Ruby ‚ɈڂÁ‚Ä‚‚é�l‚Ö‚Ì—L—p‚È�•Œ¾‚ɂȂè‚Ü‚·�B
Ruby ‚É‚Í Ruby ‚Ì–ñ‘©Ž–‚ª‚ ‚è‚Ü‚·�BRuby ‚É Perl ‚Æ“¯‚¶‚à‚Ì‚ð‹�‚߂Ȃ¢‚Å‚‚¾‚³‚¢�B
Ruby ‚Í Perl ‚ł͂Ȃ¢‚©‚ç‚Å‚·�B‚Ü‚½�ALISP ‚â Smalltalk ‚Æ“¯‚¶‚à‚Ì‚à‹�‚߂Ȃ¢‚Å‚‚¾‚³‚¢�B
‚½‚¾‚µ�ARuby ‚ɂ͂±‚ê‚ç3‚‚̌¾Œê‚Æ‹¤’ʂ̗v‘f‚ª‚ ‚è‚Ü‚·�B
‚Ü‚¸�AŽ©•ª‚Ì—\‘z‚Ç‚¨‚è‚ɂȂÁ‚Ä‚¢‚é‚©‚Ç‚¤‚©ŽŽ‚µ‚Ä‚‚¾‚³‚¢�B
‚¯‚ê‚Ç‚à�A—\‘z‚ªŠO‚ꂽ�ê�‡‚É‚Í(Matz ‚ª•Ï�X‚É“¯ˆÓ‚µ‚È‚¢ŒÀ‚è)‚»‚ꂪ Ruby ‚ÌŒˆ‚Ü‚è‚Ȃ̂ł·�B
0839ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGperlcc
>>838
‚»‚ê ruby-talk ‚ÅŒ©‚½‚悤‚È�B
0840ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> CŒ¾Œê‚Í‚»‚±‚»‚±Ž©�M‚ ‚é‚ñ‚Å
ŒN‚Ì‚»‚ÌŽ©�M‚Í’P‚È‚é‰ß�M‚¾�B
0841ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> ‚»‚ê ruby-talk ‚ÅŒ©‚½‚悤‚È�B
�ŋ߂̂ ‚̃lƒ^ƒXƒŒ‚Ö‚Ìreply‚̈ê‚‚¾‚Á‚½‚©‚Æ�B
0842ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–¼‘O�A�Z�Š�A“d˜b”Ô�†
–¼‘O�A�Z�Š�A“d˜b”Ô�†
‚Æ‚¢‚¤ƒf�[ƒ^‚ª“ü‚Á‚½‚”‚˜‚”ƒtƒ@ƒCƒ‹‚ª‚ ‚Á‚Ä�A‚»‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ý�ž‚ñ‚Å�A
Žw’肵‚½–¼‘O‚É�‡‚Á‚Ä‚¢‚é�l‚ª‚¢‚½‚ç�Z�Š‚¾‚¯•\ަ‚Æ‚©“d˜b”Ô�†‚¾‚¯•\ަ
‚µ‚½‚¢Žž‚͂ǂ¤‚µ‚½‚ç‚¢‚¢‚ñ‚Å‚µ‚傤‚©�H
ƒtƒ@ƒCƒ‹‚ðƒI�[ƒvƒ“‚µ‚ēǂÝ�ž‚Þ‚Æ‚±‚ë‚©‚ç‚æ‚‚í‚©‚ç‚È‚¢‚Å‚·�B
–¼‘O‚ª‚ ‚Á‚½‚ç‚»‚̈ê�s‚ð•\ަ‚·‚éƒvƒ�ƒOƒ‰ƒ€‚Í‘½•ª
$KCODE = "s"
str = ARGV.shift
reg = Regexp.new(str)
ARGF.each do |line|
if reg =~ line
print line
end
end
‚±‚ñ‚ÈŠ´‚¶‚Å‚¢‚¢‚©‚ÆŽv‚¤‚̂ł·‚ª�E�E�E�B‚æ‚낵‚‚¨Šè‚¢‚µ‚Ü‚·�B
0843ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚̂悤‚ɃXƒy�[ƒX‚Å‹æ�Ø‚ç‚ꂽ•¶Žš—ñ‚ð�A�Å�‰‚̃Xƒy�[ƒX‚Å
“ñ‚‚ɕª‚¯‚悤‚ÆŽv‚¢‚Ü‚·�B
"hoge","aaaaaa vvvvvv bbbbb"
‚»‚ê‚Å�A‰º‚̂悤‚ȃR�[ƒh‚ð�‘‚«‚Ü‚µ‚½�B
str =~ /(\w+) (.*)/
cmd = $1
arg = $2
"hoge" ‚̂悤‚É�AƒXƒy�[ƒX‚ªŠÜ‚Ü‚ê‚È‚¢•¶Žš—ñ‚Ì�ê�‡�A
"hoge",""(‚à‚µ‚‚Í"hoge",nil)‚̂悤‚É•ª‚¯‚½‚¢‚̂ł·‚ª�A
�ã‚̃R�[ƒh‚ł͑Ήž‚Å‚«‚Ü‚¹‚ñ�B
‚Ȃɂ©ƒXƒ}�[ƒg‚È�‘‚«•û‚Í‚ ‚è‚Ü‚¹‚ñ‚©?
0844ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGif /\A(\w+)\s*/ =~ str
cmd, arg = $1, $'
end
0845ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGstr.split(/ /, 2)
0846ŠÛŒŒ
NGNG’JŒû�@˜r‘¾�@ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^�@1977”N�¶‚Ü‚ê
‚ð
’JŒû�@˜r‘¾,ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^,1977”N�¶‚Ü‚ê
‚É’uŠ·‚µ‚½‚¢‚Å‚·�I�I�I
"‚Q‚‚߂̑SŠpƒXƒy�[ƒX"�¨","
"‚S‚‚߂̑SŠpƒXƒy�[ƒX"�¨","
‚Æ‚¢‚¤•—‚É’uŠ·‚·‚é‚ɂ͂ǂ¤‚·‚ê‚΂¢‚¢‚̂łµ‚傤‚©�H
‚»‚ñ‚È‚±‚Ƃł«‚Ü‚·‚©�H�H
0847ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@str = '’JŒû�@˜r‘¾,ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^,1977”N�¶‚Ü‚ê'
end
0848ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGa =~ /([^�@]+�@[^�@]+)�@([^�@]+�@[^�@]+)�@([^�@]+)/
puts "#{$1},#{$2},#{$3}"
‚Ђ˂è‚È‚µ�B
0849ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒGƒ“ƒR�[ƒfƒBƒ“ƒOƒIƒvƒVƒ‡ƒ“‚ð–Y‚ê‚È‚¢‚±‚Æ�B
0850ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGputs "’JŒû�@˜r‘¾�@ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^�@1977”N�¶‚Ü‚ê".gsub(/�@/){
flag = (flag == ',' ? '�@' : ',')
}
0851ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚Ì�Û‚¾‚©‚ç�Aruby‚Å‚àŠo‚¦‚悤‚©‚È�c�c
Œ»�݂̖ڑO‚̉ۑè‚Í�A
1997,00157
1998,00014
1998,00265
1998,00335
1998,17304
1999,00339
1999,00385
1999,00388
1999,00392
1999,17321
1999,17346
1999,2510109491313
‚ð
1997,00157
1998,00014, 00265, 00335, 17304
1999,00339, 00385, 00388, 00392, 17321, 17346, 2510109491313
‚É•Ï�X‚·‚邱‚Ƃł·¡
‚±‚ê‚ɂ͂ǂ̂悤‚ȃAƒ‹ƒSƒŠƒYƒ€‚ª“K“–‚Å‚µ‚傤‚©�H
0852ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒoƒbƒNƒgƒ‰ƒbƒN
0853ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGtable=readlines.map{|l|l.chomp.split(/,/)}
keys=table.map{|a|a[0]}.uniq
keys.each { |k| print "#{k},",table.select{|a,b|a==k}.map{|a,b|b}.join(','),"\n"}
0854ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGh={}
ARGF.each do |str|
year, val = str.chomp.split(/,/)
next unless year or val
if h[year] then h[year] << val else h[year] = [val] end
end
h.to_a.sort{|a,b|a[0]<=>b[0]}.each do |year, vals|
print "#{year},#{vals.join(',')}\n"
end
0855ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚͈Ⴄ‚¾‚ë
ŒÃ“T“I‚È‚â‚è•û�BƒL�[ƒuƒŒ�[ƒN‚Æ‚©‚¢‚¤‚±‚Æ‚ª‘½‚¢‚悤‚È�B
k = nil
v = nil
while l = gets
�@a, b = l.chomp.split(/,/)
�@unless a == k
�@�@puts v.join(",") if v
�@�@v = [k = a]
�@end
�@v << b
end
puts v.join(",") if v
0856ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0857ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0858ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://pc.2ch.net/test/read.cgi/php/1037797479/575
ŠÛŒŒ‚ɉa‚ð—^‚¦‚È‚¢‚悤‚É�B
Œä—ç‚à‚¢‚¦‚È‚¢‚悤‚È‚Ì‚Å“š‚¦‚é‚¾‚¯–³‘Ê�B
0859ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“ü“¹�A‰¤“¹�A”ÔŠO•Ò‚Á‚Ä‚¢‚‚łé‚Ì�H
0860ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¤�‘‚‚ƌォ‚ç�‡”Ԃ΂ç‚΂ç‚ȃf�[ƒ^‚ªŽ�‚¿�ž‚Ü‚ê‚Ä‹ƒ‚‹ƒ‚�‘‚«’¼‚·‚±‚Æ‚É�E�E�E
‚Á‚Čܕª‚à‚©‚©‚ç‚È‚¢‚ñ‚¾‚¯‚Ç‚³�B
0861ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0862ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0863ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG”z—ñ‚̃nƒbƒVƒ…‚ÆpushŽg‚¦‚Á‚Ä�B
0864ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.7ŒÀ’è‚ɂȂ邪�B
h = Hash.new {[]}
ARGF.each do |str|
year, val = str.chomp.split(/,/)
next unless year or val
h[year] <<= val
end
h.sort.each do |year, vals|
print "#{year},#{vals.join(', ')}\n"
end
‚ ‚ÆHash‚àEnumerable‚Ȃ̂Åto_a‚·‚é•K—v‚͂Ȃ¢‚µ�AƒL�[‚ªˆêˆÓ‚È‚±‚Ƃ͕Û�Ø
‚³‚ê‚Ă邩‚çƒuƒ�ƒbƒN‚à•s—v�B
‚ ‚Æ�Avals‚̃Jƒ“ƒ}‚ÌŒã‚ɂ͋󔒂ª“ü‚é‚Ì‚È�B�Å�‰‹C‚©‚È‚©‚Á‚½�B
0865ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0866perl‘f�l�Arubyƒ_ƒ�ƒ|
NGNG”z—ñ‚̃nƒbƒVƒ…‚Ì‚±‚Æ�H‚±‚¤‚©‚È�Hruby�‘‚¯‚Ü‚¹‚ñ�B
while (<>){
my($val,$year)=split /:/;
chomp $year;
push @{ $years{$year} }, $val;
}
for $year (sort keys %years){
print "$year,",join(", ",@{$years{$year}}),"\n";
}
0867ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> my($val,$year)=split /:/;
�‡�˜‹t‚¾‚æ�B‚µ‚©‚à‚È‚º‚©‹æ�Ø‚è•¶Žš‚ª•Ï‚í‚Á‚Ă邵�B
0868ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽ—‚Ă邯‚LjႤ�Blambda‚̓uƒ�ƒbƒN‚ðƒIƒuƒWƒFƒNƒg‰»‚·‚邽‚߂̊Ö�”‚Æ‚µ‚Ä•Ê
‚É‚ ‚é�B
0869perl‘f�l�Arubyƒ_ƒ�ƒ|
NGNG0870ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚P�D‚ �A‚¢�A�c�c‚©�A‚«�A�c�c‚ç�A‚è�A�c�c‚ñ
‚Q�D‚ �A‚©�A‚³�A‚½�A‚È�A�c�c
‚R�D‚¨�A‚±�A‚»�A‚Æ�A‚Ì�A�c�c
‚̂悤‚É�A�F‚ñ‚È”²‚«�o‚µ•û‚ª‚ ‚邯Žv‚¢‚Ü‚·�B
’P�ƒ‚·‚¬‚é‚Ì‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª�A
ruby -e '"‚ ".upto("‚ñ"){|x| print x, " " }; print "\n"'
‚̂悤‚É‚·‚邯�A�u‚¡�v‚Æ‚©�u‚ï�v‚Æ‚©‚Ü‚Å�o‚Ü‚·�B
‚±‚ê‚ç‚ð”÷–‚É’²�®‚·‚邱‚Æ‚Í�o—ˆ‚È‚¢‚̂łµ‚傤‚©�H
‚ �s
‚©�s
�c�c
‚í�s
‚ð‚’‚•‚‚‚™‚ɂ͂©‚¹‚½‚¢‚̂ł·‚ª�c�c
0871ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰ºŽè‚È�¬�×�H‚æ‚è�Aƒe�[ƒuƒ‹‚ÅŽ�‚Á‚Ä‚µ‚Ü‚¤‚±‚Æ‚ð‚¨Š©‚ß�B
0872870
NGNG0873ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŽå—v‚ÈŠJ”Žè–@/Œ`‘Ô‚ÌŠT—v‚ð�q‚ׂĂ¢‚é�Í‚Å�AƒI�[ƒvƒ“ƒ\�[ƒXŠJ”‚̈êŒ`‘Ô‚Æ‚µ‚Ĉê�߂̃Xƒy�[ƒX‚ªŠ„‚©‚ê‚Ä‚¢‚½�B
‚Ü‚½�Aƒ†ƒjƒbƒgƒeƒXƒg‚ÌŠT—v‚Æ‚»‚Ì•�‹y“x‚ð�q‚ׂĂ¢‚é�ß‚Å�A
ƒ†ƒjƒbƒgƒeƒXƒgƒc�[ƒ‹‚ª•W�€“Y•t‚³‚ê‚Ä‚¨‚è�ARubicon ‚È‚ñ‚Ä‚Ì‚à‚ ‚邯�Љî�B
“Á’è‚̃vƒ�ƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ɂ‚¢‚ÄŒ¾‹y‚³‚ê‚Ä‚¢‚é�ê–Ê‚ª‚Ù‚Æ‚ñ‚ǂȂ¢–{‚Ȃ̂Å�A‚¿‚å‚Á‚ƂтÁ‚‚è�B
0874ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGblock = Proc.new { |...| ... }
(define block (lambda (...) ...))
‚¾‚ÆŽ—‚Ä‚é�H
0875ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚éˆÓ–¡Ž—‚Ă邯‚Ç�AScheme‚¾‚ÆŠÖ�”‚Ì’è‹`Ž©‘Ì‚à‚»‚ê‚¶‚á‚È‚©‚Á‚½‚Á‚¯?
Ruby‚ł͂»‚Ìblock‚̓�ƒ\ƒbƒh‚Æ‘S‚“¯‚¶‚悤‚Ɉµ‚¤‚±‚Ƃ͂ł«‚È‚¢�B
0876ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0877ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0878ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ��[ƒJƒ‹•Ï�”‚ð‹¤—L‚·‚邯‚±‚ë‚È‚ñ‚©‚Í�A‚½‚Ô‚ñŽ—‚Ă邯Žv‚¤�B
0879ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŠÖ�”‚©‚ç’l‚ª‹A‚Á‚Ä‚±‚È‚‚Ä”Y‚ñ‚Å‚½‚ç
return ‚·‚é‚Ì‚ð–Y‚ê‚Ä‚¢‚½
0880ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG;–Y‚ê‚È‚¢?
0881ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGelif
else if
elseif
elsif
0882ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG—\–ñŒê‚̓GƒfƒBƒ^‚ŃnƒCƒ‰ƒCƒg‚³‚ê‚é‚©‚ç�A‚»‚ñ‚ȂɊԈႦ‚邱‚ƂȂ¢‚ñ‚¾‚¯‚Ç�B
0883ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGreturn”²‚¯‚Ä‚é‚̂ɂµ‚΂炋C•t‚©‚È‚©‚Á‚½‚è‚·‚é‚ñ‚¾‚æ‚È�B
ƒRƒ“ƒpƒCƒ‹‚͒ʂ邵�B
ƒCƒ“ƒ‰ƒCƒ“‚É‚µ‚½‚è‚Æ‚©�Å“K‰»‚·‚邯ƒoƒO‚ªŒ°�݉»‚µ‚Ä‚µ‚΂炔Y‚Þ�B
0884ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGgcc‚È‚ç-Wreturn-type‚Æ‚©
0885ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0886ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆÈ‰º‚̃R�[ƒh‚Å�AƒGƒfƒBƒbƒgƒ{ƒbƒNƒX‚ð�¶ƒNƒŠƒbƒN‚·‚邯�A
ƒNƒŠƒbƒN‚µ‚½ƒ{ƒbƒNƒX‚É"clicked"‚ª’ljÁ‚³‚ê‚é‚̂ł·‚ª�A
ed2‚̃{ƒbƒNƒX‚ðƒNƒŠƒbƒN‚µ‚½‚ç�Aed1‚̃{ƒbƒNƒX‚É
"clicked"‚ª’ljÁ‚³‚ê‚邿‚¤‚É‚·‚é‚ɂ͂ǂ¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©�B
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrhandler'
class MyEdit < VRText
include VRMouseFeasible
def self_lbuttondown(shift,x,y)
self.text += "clicked"
end
end
class MyForm < VRForm
include VRMouseFeasible
def construct
addControl(MyEdit, 'ed1', 'ed1', 3, 3, 100, 60)
addControl(MyEdit, 'ed2', 'ed2', 3, 90, 100, 60)
end
def eb1_lbuttondown(shift,x,y)
messageBox "clicked"
end
end
VRLocalScreen.showForm(MyForm, 200, 200, 120, 200)
VRLocalScreen.messageloop
0887ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGclass MyEdit < VRText
�@include VRMouseFeasible
�@@out = nil
�@def self_lbuttondown(shift,x,y)
�@�@if @out.nil?
�@�@�@self.text += "clicked"
�@�@elsif
�@�@�@@out.text += "clicked"
�@�@end
�@end
�@def set_out(sib)
�@�@@out = sib
�@end
end
class MyForm < VRForm
�@include VRMouseFeasible
�@def construct
�@�@ed1 = addControl(MyEdit, 'ed1', 'ed1', 3, 3, 100, 60)
�@�@ed2 = addControl(MyEdit, 'ed2', 'ed2', 3, 90, 100, 60)
�@�@ed2.set_out(ed1)
�@end
end
0888886
NGNG‚Æ‚±‚ë‚Å�A–{‰Æ VisualuRubyŒv‰æ�i‰¼�Ì�jˆÈŠO‚Å�A
Visualu Ruby‚ÌŽQ�l‚ɂȂéƒTƒCƒg‚Á‚Ä‚ ‚è‚Ü‚·‚©‚Ë�H
0889ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹³‚¦‚ĉº‚³‚¢�B
0891ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.6 ‚©‚ç 1.8 ‚ɃAƒbƒvƒf�[ƒg‚·‚邯‚«‚Á‚Ä�A
ƒT�[ƒhƒp�[ƒeƒB‚̃‰ƒCƒuƒ‰ƒŠ�isite-ruby/1.6‚É‚ ‚é‚â‚Â�j‚͂܂½“ü‚ê‚È‚¨‚µ‚½•û‚ª‚¢‚¢‚ñ‚Å‚µ‚傤‚©�H
’P�ƒ‚É 1.6 ‚ð 1.8 ‚ɃRƒs�[‚·‚邾‚¯‚¶‚áƒ_ƒ�‚Å‚·‚æ‚Ë�H
0892ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0893ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWarlus‚Æ‚©�A�¶‚«Žc‚é‚©‚Ç‚¤‚©‚¢‚Ü‚¢‚¿�M—p‚È‚ç‚ñ‚Ì‚Å�B
eRubyƒŒƒxƒ‹‚Å‚µ‚±‚µ‚±ƒAƒvƒŠ�‘‚‚Ì‚à‚µ‚ñ‚Ç‚¢‚µ�B
‚݂Ȃ³‚ñ�AWebƒAƒvƒŠ‚Ç‚¤‚â‚Á‚Ä�ì‚Á‚Ă܂·‚©�H
0894ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0895ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1.8 ‚É‚µ‚©‚È‚©‚Á‚½‚èŽd—l‚ª 1.6 ‚Ƃ͈قȂé
�E‘g‚Ý�ž‚݃‰ƒCƒuƒ‰ƒŠ‚Ì‹@”\
�EC ƒCƒ“ƒ^ƒtƒFƒCƒX
‚ª‚È‚¯‚ê‚Î’P‚ɃRƒs�[‚Å‚à‚æ‚¢�B
‚Ü�AƒCƒ“ƒXƒg�[ƒ‹‚µ‚È‚¨‚µ‚½•û‚ª–³“‚ª�B
>>892
1.7 ‚©‚çƒXƒ‰ƒCƒh‚µ‚½ˆÀ’èŒn—ñ‚ª 1.8�B‚Æ‚¢‚¤‚±‚Ƃł±‚ê‚ð“ǂ߂΂¢‚¢�B
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.7+feature
>>893
Zope •À‚É�®‚Á‚½‚̂͂Ȃ¢‚Ë�BIOWA ‚à‚Ç‚¤‚È‚Á‚½‚â‚ç�B
narf ‚ª‚±‚È‚ê‚Ä‚‚ê‚Î CGI ƒAƒvƒŠ‚à�‘‚«‚â‚·‚‚Ȃ肻‚¤‚¾‚¯‚Ç�B
http://sourceforge.net/projects/narf-lib/
�„Warlus‚Æ‚©�A�¶‚«Žc‚é‚©‚Ç‚¤‚©‚¢‚Ü‚¢‚¿�M—p‚È‚ç‚ñ‚Ì‚Å�B
‚»‚ê‚¢‚Á‚½‚ç Ruby ‚à�¶‚«Žc‚é‚©‚Ç‚¤‚©�i‚—
0896ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGIOWA‚ÍSmalltalk‚ɈڂÁ‚Ä�ASeaside‚ɂȂÁ‚Ä‚¢‚é�B
�ìŽÒ‚ÍRuby‚ɈÚ�A‚·‚é‹C‚Í‚ ‚Ü‚è‚È‚¢‚炵‚¢�B
narf‚Ícgi.rb‚̃Cƒ“ƒ^�[ƒtƒF�[ƒX‚Ì•”•ª(HTML‚Ì�¶�¬ˆÈŠO)‚Í
—Ç‚¢‚¯‚Ç�Aƒeƒ“ƒvƒŒ�[ƒg‚̃‰ƒCƒuƒ‰ƒŠ‚Æ‚µ‚Ă͋^–â�B
ruby-talk‚ÅŒ¾‚Á‚Ä‚½‚¯‚Ç�Aamrita + narf‚‚ç‚¢‚ª
—Ç‚³‚»‚¤‚©‚È(’x‚¢‚¯‚Ç)�B
�¡‚̂Ƃ±‚ëWalrus‚ªWebƒAƒvƒŠ‚̃‰ƒCƒuƒ‰ƒŠ‚Æ‚µ‚Ä‚Í
ˆê”Ô�®‚Á‚Ä‚¢‚邾‚낤‚¯‚Ç�AŒÂ�l“I‚É
RD‚Á‚Û‚¢•¶–@‚ª�D‚«‚ɂȂê‚È‚¢�B
0897ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚ê‚ç‚ðƒCƒ“ƒeƒOƒŒ�[ƒg‚µ‚½ƒ\ƒŠƒ…�[ƒVƒ‡ƒ“‚Ý‚½‚¢‚Ȃ̂ª
WarlusˆÈŠO‚É‚à—~‚µ‚¢�B
J2EEƒRƒ“ƒeƒi‚Ý‚½‚¢‚È�ARubyƒRƒ“ƒeƒi‚ª‚ ‚ê‚Î
‚à‚Á‚ÆŠé‹Æ‚Å‚àŽg‚¢‚â‚·‚¢‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�c�c�B
0898ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGFormDesigner‚Ì�X�V‚Á‚ÄŽ~‚Ü‚Á‚Ă邿‚Ë�B
‚Ȃɂ©‘¼‚É‚¢‚¢RADƒc�[ƒ‹‚ ‚é�H
0899ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> 1.8 ‚É‚µ‚©‚È‚©‚Á‚½‚èŽd—l‚ª 1.6 ‚Ƃ͈قȂé
> �E‘g‚Ý�ž‚݃‰ƒCƒuƒ‰ƒŠ‚Ì‹@”\
> �EC ƒCƒ“ƒ^ƒtƒFƒCƒX
Šg’£ƒ‰ƒCƒuƒ‰ƒŠ‚Í‘S•”ƒRƒ“ƒpƒCƒ‹‚µ’¼‚µ‚½‚Ù‚¤‚ª‚¢‚¢�B
‚Æ‚¢‚¤‚©‘½•ª•K—v�B
> 1.7 ‚©‚çƒXƒ‰ƒCƒh‚µ‚½ˆÀ’èŒn—ñ‚ª 1.8�B‚Æ‚¢‚¤‚±‚Ƃł±‚ê‚ð“ǂ߂΂¢‚¢�B
> http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=ruby+1.7+feature
‚½‚¾‚µ�A1.8.0‚ÍŠJ””Å�B1.8.1‚͂܂¾‚Ü‚¾�æ‚ÆŽv‚í‚ê�B
0900ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRubyŠo‚¦‚½‚Ä‚Ì� ‚É�ì‚Á‚½ƒXƒNƒŠƒvƒg‚ł͊‡ŒÊ‚ª�È—ª‚Å‚«‚é‚Ì‚ª�A
‚È‚ñ‚ƂȂ‚¤‚ꂵ‚‚Ä�È—ª‚µ‚Ă܂µ‚½�B‚ñ‚Å‚»‚̃XƒNƒŠƒvƒg‚ð
‰ü’ù‚µ‚悤‚Æ�l‚¦‚Ä‚¢‚é‚̂ł·‚ª�AЇŒÊ‚ð‚Ç‚¤‚µ‚悤‚©‚ȂƎv‚Á‚Ä�E�E�E�B
‚Æ‚¢‚¤‚Ì‚à�ARHG‚ð“Ç‚ñ‚Å‚¢‚½‚ç�ARuby2‚Ì—\’è‚̂Ƃ±‚ë‚É�A
�uƒlƒXƒg‚µ‚½ƒ�ƒ\ƒbƒhŒÄ‚Ñ�o‚µ‚ÌŠ‡ŒÊ‚Ì�È—ª‚ª‚Å‚«‚È‚‚Ȃ邩‚à�v‚Æ‚¢‚Á‚½Š´
‚¶‚Ì‚±‚Æ�‘‚¢‚Ä‚ ‚Á‚½‚̂ł·‚ª�A‚½‚Ô‚ñ�A�«‚Ý‚½‚¢‚Ȃ̂ª”pŽ~‚ɂȂé‚Á‚Ä‚±‚Æ
‚Å‚·‚æ‚Ë�H‚½‚Ô‚ñ�B
Ruby2‚͂܂¾�æ‚Ì‚±‚Ƃł·‚ª�A‚È‚ñ‚©Šµ—Ⴊ‚ ‚ê‚΂»‚ê‚É�]‚¢‚½‚¢‚ȂƎv‚Á‚Ä�B
def f x; print "f() = #{x}\n"; end
def g y; print "g() = #{y}\n"; y; end
f g 10
0901ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0902ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0903ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚ ‚ê�H
1.8 Œn—ñ‚Í 1.8.0-1.8.2 ‚ÌŠJ”Œn—ñ‚Æ
1.8.1-1.8.3 ‚̈À’èŒn—ñ‚ɂȂé‚ñ‚¾‚Á‚½‚Á‚¯�H
>>902
system('c:/hoge.exe')
0904ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚¾‚Ë�B�È—ª‚Ì‹K‘¥‚Æ‚µ‚Ä‚Í�A(�È—ª‚µ‚½‚¯‚ê‚Î) ˆê”ÔŠO‘¤‚Ì
ЇŒÊ‚¾‚¯�È—ª�A‚Å‚¢‚¢‚ñ‚¶‚á‚È‚¢�B˜R‚ê‚͕Ԃè’l‚ðŽg‚í‚È‚¢
‚Æ‚«‚Í�È—ª�A‚Æ‚¢‚¤‚±‚Ƃɂµ‚Ă邿�B
lvar = m(arg) # �È—ª‚µ‚È‚¢
m arg # �È—ª‚·‚é
lvar = m(m2(arg)) # �È—ª‚µ‚È‚¢
m m2(arg) # �È—ª‚·‚é
# ƒ�ƒ\ƒbƒh‚Ì’†‚Å‚Í
def function
calc(arg) # •Ô‚è’l‚ª�d—v‚È�ê�‡‚Í�È—ª‚µ‚È‚¢
end
lvar = function()
def procedure
print arg # •Ô‚è’l‚ª�d—v‚łȂ¯‚ê‚Î�È—ª
end
procedure # •K‘R“I‚ɌĂÑ�o‚µ‚Å‚à�È—ª‚·‚邱‚ƂɂȂé
0905ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> 1.8 Œn—ñ‚Í 1.8.0-1.8.2 ‚ÌŠJ”Œn—ñ‚Æ
> 1.8.1-1.8.3 ‚̈À’èŒn—ñ‚ɂȂé‚ñ‚¾‚Á‚½‚Á‚¯�H
‚¢‚â�BŠJ”Œn—ñ‚Í‚¸‚Á‚Æ1.8.0�BˆÀ’èŒn—ñ‚Í1.8.1, 1.8.2, ...�B
1.8.1‚ª�o‚½Žž“_‚ÅŠJ”Œn—ñ‚Í1.9.0‚ɈÚ�s�B
‚‚܂èŠJ””łłÍTEENY‚Í0ŒÅ’è‚ɂȂé�B
0906ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0907902
NGNG‚Ç‚¤‚à‚Å‚·�B
0908893
NGNG�î•ñ‚Ç‚¤‚à�Bnarf‚ðŒ©‚Ä‚Ý‚½‚¯‚Ç�Aunit test‚ð‚â‚邽‚߂̂à‚Ì‚©�B
amrita, warlus‚̃TƒuƒZƒbƒg‚Æ‚µ‚Ă悳‚»‚¤‚¾‚¯‚Ç�Awarlus‚Ƃ̊֌W‚Í�H�ìŽÒ‚Í•Ê�H
0909ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Í‚Á‚«‚è‚¢‚Á‚Ä�Aruby ‚É‚¨‚¯‚é Web ŠJ”ŠÂ‹«‚͉ó–Å�ó‘Ô�B
‚»‚±‚ç‚Ö‚ñ‚̉ðŒˆ�ô‚Æ‚µ‚Ä Ruby + Eclipse + ŠeŽíƒvƒ‰ƒOƒCƒ“ ‚É‹�‚ß‚½‚¢‚ȂƉ´‚ÍŽv‚Á‚Ä‚é�B
0910909
NGNG�iMacromedia Dreamweaver ‚Æ‚©Žg‚¤‚Æ�A�¡‚̃I�[ƒvƒ“ƒ\�[ƒX‚ȃXƒNƒŠƒvƒgŒ¾Œê‚ðŽæ‚èŠª‚
ŠJ”ŠÂ‹«‚ªˆÈ‰º‚É�‚È‚¢‚©•ª‚©‚é�j
Šî‘b“I‚È‹Z�p‚̂ق©‚É�A‚»‚ê‚ð•Ö—˜‚Ɉµ‚¦‚邿‚¤‚É‚·‚邽‚߂̃c�[ƒ‹‚à‹¤‚É‚ ‚Á‚Ä‚±‚»ˆÓ–¡‚ª‚ ‚邯
‰´‚ÍŽv‚¤�B
0911893
NGNG�ŋ߂±‚ÌŽè‚Ì‚l‚k“Ç‚ñ‚łȂ©‚Á‚½‚Ì‚Å�•‚©‚é�B
Eclipse‚Á‚ÄIDE‚©�B
‚¤�[‚ñ�AIDE‚æ‚è‚àWebƒAƒvƒŠ‚̃Rƒ“ƒeƒi‚Æ‚¢‚¤‚©ƒvƒ‰ƒbƒgƒtƒH�[ƒ€‚ª�悾‚È‚ �B
‚¢‚‚çƒNƒŠƒbƒNƒNƒŠƒbƒN‚Ńvƒ�ƒOƒ‰ƒ€�ì‚ê‚Ä‚à�A
ƒ\�[ƒX‚ªMVC‚²‚¿‚á‚Ü‚º‚ɂȂé‚ñ‚ł͂½‚Ü‚ç‚ñ�B
‚¿‚á‚ñ‚Æ‚µ‚½•W�€‚ª‚Å‚«‚é‚Ü‚Å�A
Amrita‚ȂǂłȂé‚ׂƒVƒ“ƒvƒ‹‚ɕۂÁ‚Ä‚¨‚‚Ì‚ª�AŽ©�ì‹Æ–±ƒAƒvƒŠ‚ð’·�¶‚«‚³‚¹‚é”éŒ�‚©‚È‚ �B
RubyŽ©‘̂͂¢‚¢Œ¾Œê‚Ȃ̂É�A‚±‚ñ‚ȂƂ±‚ë‚Å Perl/Python/PHP‚É•‰‚¯‚Ä‚µ‚Ü‚¤‚̂͒É�¦‚¾�B
Ruby Webƒvƒ�ƒOƒ‰ƒ}‚æ�A’cŒ‹‚µ‚悤�I
0912ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG”÷–‚Ȃ̂ª�AAmrita ‚ª�Å“K‚È�ê�‡‚Æ�A‚»‚¤‚łȂ¢�ê�‡‚ª‚ ‚é�BAmrita ‚Å�ς܂¹‚ç‚ê‚é‚à‚̂͑S•” Amrita ‚Å‚â‚é‚Ì‚ª
”ü‚µ‚¢Š´‚¶‚Í‚·‚邯‚Ç�A•¡ŽG‚È HTML ‚ð“f‚«�o‚·‚È‚ç ERB ‚Å‚â‚Á‚½‚Ù‚¤‚ª‚¢‚¢�ê�‡‚à‚ ‚é�B
--
Amrita ‚ð’P�ƒ‚Ƀf�[ƒ^‚ð“®“I‚ÉHTML‚ð�‘‚«�o‚·‚½‚߂̃c�[ƒ‹‚Æ‚µ‚Ä—˜—p‚µ‚悤‚Æ‚µ‚½‚Æ‚«�A
ƒvƒŒƒrƒ…�[‚·‚é‚̂ɂ¢‚¿‚¢‚¿ƒXƒNƒŠƒvƒg‹N“®‚³‚¹‚È‚«‚á‚È‚ç‚ñ‚Ì‚©�A‚Æ‚¢‚¤˜b‚É‚à‚È‚Á‚¿‚Ⴄ�B
CGI ƒCƒ“ƒ^�[ƒtƒF�[ƒX�ì‚Á‚ăvƒ�ƒOƒ‰ƒ€‚·‚ê‚Î�A‘¦�À‚ɃvƒŒƒrƒ…�[‚·‚éŠÂ‹«‚à�ì‚ê‚邯‚Ç�A
‰½‚©ˆê–{ŠÑ‚¢‚½ƒRƒ“ƒZƒvƒg‚ðŽ�‚Á‚½ƒc�[ƒ‹‚ª‚ ‚Á‚Ä‚à‚¢‚¢‚Í‚¸�B�iDreameweaver —p‚Ì Ruby Extension �ì‚é‚Á‚Ă̂à�A•K—v‚©‚à�B�j
0913ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGamrita‚æ‚è‚àeRuby‚Ì•û‚ª—Ç‚¢‚Æ‚¢‚¤‚̂͋ï‘Ì“I‚ɂǂ¤‚¢‚¤Žž?
‚à‚¤‚ЂƂÂ�BƒvƒŒƒrƒ…�[‚·‚é‚É‚ÍeRuby‚Å‚àamrita‚Å‚à
ƒXƒNƒŠƒvƒg‚ð‹N“®‚¹‚´‚é‚𓾂Ȃ¢‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�A
912‚͂ǂ¤‚¢‚¤—p“r‚ð�l‚¦‚Ä‚¢‚é‚Ì?
0914ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGFreeBSD 4.7R ‚Å packages ‚Å“ü‚ꂽ ruby-qt2 ‚ðŽg‚Á‚Ä‚¢‚Ü‚·�B
0915ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰´‚Ì—p“r‚Æ‚µ‚Ä‚Í�Aƒtƒc�[‚̃z�[ƒ€ƒy�[ƒW‚Ì�ì�¬‚Å�A‚»‚ê‚É‚¿‚å‚Á‚Æ‚µ‚½ƒf�[ƒ^‚ð–„‚ß�ž‚ñ‚Å�AHTML ‚Æ‚µ‚Ä�‘‚«�o‚µ‚Ä
FTP ‚ŃAƒbƒvƒ��[ƒh�A‚Ý‚½‚¢‚È‚±‚Æ‚â‚낤‚©‚ÆŽv‚Á‚½�B
�i�X�V“úŽž‚Æ‚©�Aƒ�ƒjƒ…�[‚Æ‚©‚͂ǂ̃y�[ƒW‚Å‚àŽg‚¤‚©‚ç BasePage ƒNƒ‰ƒX‚Ƀ\ƒŒ‚ð’è‹`‚µ‚Ä�A‚±‚ê‚ðŒp�³‚µ‚ÄŠeŽí
ƒy�[ƒW‚ð’è‹`‚µ‚ĉ]�X�E�E�E‚Æ‚©‚â‚Á‚Ä‚¢‚½‚ñ‚½‚¯‚Ç�A•ʂɃ�ƒjƒ…�[‚Æ‚©�X�V—š—ð‚Æ‚©�Ú‚¹‚邾‚¯‚È‚ç Dreamweaver
‚Å‚à—]—T‚ʼn”\‚¾‚Á‚½�B‚µ‚©‚à‚»‚Á‚¿‚̂ق¤‚ªˆ³“|“I‚ÉŒø—¦“I�ì‚ê‚邯Žv‚Á‚½�j
0916ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0917ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚â‚ê‚é‚ñ‚łȂ¢‚©�H�@Ruby IDE ‚ð‘g‚Ý�ž‚Þ‚¾‚¯‚È‚ç�B
‚µ‚©‚µ�A‚»‚ê‚ð‘j‚Þ—vˆö‚Æ‚µ‚Ä‚Í�A‚â‚Á‚Ï–Z‚µ‚¢‚Ì‚©‚Ë�BIDE ‚É‹»–¡‚ ‚é�l‚Á‚Ă̂Í�B
0918ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG–³—¿‚¶‚á‚Å‚«‚È‚¢�B
http://vsip.summsoft.com/vsi/
‚±‚ñ‚È‚Ì‚à‚ ‚邪�A‘åŠw‚©Œ¤‹†�Š—p‚炵‚¢�B
http://www.msdn.microsoft.com/vstudio/vsip/
0919ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ}ƒW‚©‚æ�BExtension �ì‚Á‚ÄŠ´ŽÓ‚µ‚Ä‚à‚ç‚¢‚½‚¢‚‚ç‚¢‚Ȃ̂É�A‹à‚ðŽæ‚é‚Æ‚Í�B
�iVisual Studio ‚𗘌 ‚̈ê‚‚Ƃłà�l‚¦‚Ä‚¢‚é‚ñ‚¾‚낤‚©�B‘S‚�¢‚Ì’†‚ðŒ©Œë‚Á‚Ă邯‚µ‚©Žv‚¦‚ñ�j
‚¶‚á‚ ‚â‚Í‚è�AEclipse ‚Ì‘¼Žè‚Í–³‚¢‚È�B
0920ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ‰ƒCƒuƒ‰ƒŠ‚ÍMS‚É�ì‚点‚Ä‚»‚ê‚ðŠÈ’P‚ÉŽg‚¦‚ê‚΂±‚ê‚Ù‚Ç‚¤‚ꂵ‚¢Ž–‚͂Ȃ¢¡
0921ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¤‚¿‚ł͂قړ¯‚¶ŠÂ‹«‚Å
setenv LANG ja_JP.eucJP
‚µ‚Ä�Aexample ‚Ì codec.rb ‚ðŽÀ�s‚µ‚½‚ç‚¿‚á‚ñ‚ÆŠ¿Žš�o‚Ä‚é�B
LANG‚Ì�ݒ肪‚È‚¢‚ƑʖÚ�B
0922ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGˆÚ�A�«‚ÉŒ‡‚¯‚é�B
0923ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG.NETƒ‰ƒCƒuƒ‰ƒŠ‚ðŽg‚¤‚Ì‚ÍC#‚Å�\•ª�B‚Ä‚©C#‚·‚°�[‚Á‚Ä
0924ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“ú–{Œê‚Å‚«‚é•—‚Ȃ̂Ɏv‚¢‚Á‚«‚è‰pŒê‚¾‚Á‚½‚̂ŖÊ�H‚ç‚Á‚½�B
Œ¾Œêƒtƒ@ƒCƒ‹‚ðŠO•”‚É—pˆÓ‚·‚é•K—v‚ª‚ ‚é‚Ì‚©�A
‚»‚ê‚Æ‚àƒfƒtƒH‚ŃIƒvƒVƒ‡ƒ“‚©‚ç•Ï�X‚Å‚«‚é‚Ì‚©‚¨‚¹�[‚Ä‚‚ç‚Í‚¢�B
0925924
NGNGŽ¿–âƒXƒŒ‚É‚·‚é‚ׂ«‚¾‚Á‚½‚©‚à�B
TranslationsƒtƒHƒ‹ƒ_‚ÉJapanese.xml‚ª‚ ‚é‚©‚ç�A
Option>other2‚ÌTranslation‚É�A‚»‚ê‚ðŽw’肵‚é�I‰´
0926ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚£‚¨‚é‚ç‚·‚à‚¢‚¢‚¯‚Ç�Aapache‚Ì�ݒ肪‚ß‚ñ‚Ç‚‚³‚¢‚Å‚Â�B
ZOPE‚܂ł¢‚©‚È‚‚Ä‚à�Aƒy�[ƒW‚¶‚á‚È‚‚ăTƒCƒg‘S‘Ì‚ðŠÇ—�‚·‚é
ƒAƒvƒŠƒP�[ƒVƒ‡ƒ“‚ª•K—v‚¶‚á‚È‚¢�H
‚ ‚ނ肽‚Á‚ăy�[ƒW“f‚‚¾‚¯‚¾‚æ‚Ë�H
0927ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWalrus‚ÍWebrick‚Å‚àŽg‚¦‚½‚ÆŽv‚¤�B
Webrick‚̂ق¤‚ÍŠÈ’P‚ÉŽg‚¦‚é‚炵‚¢�B
http://devel.p1jp.com/old/yawal/devkit.html
0928926
NGNG‚¨‚¨�B
‚»‚¤‚¢‚¦‚ΑO‚ɉ\‚ð•·‚¢‚½‚Í‚¸‚Ȃ̂É�A‚·‚Á‚©‚è‚í‚·‚ê‚Ä‚¢‚Ü‚µ‚½�B
‚½‚ß‚µ‚Ă݂邱‚Ƃɂµ‚Ü‚·�B
‚ ‚肪‚Æ‚¤�B
0929ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG&‚ðƒTƒjƒ^ƒCƒY(?)‚µ‚½‚‚È‚¢‚̂ł·‚ª�A‚Ç‚¤‚·‚é‚̂łµ‚傤‚©�B
ˆÈ‰º‚ÌŽQ�l‚ɂȂ肻‚¤‚ȗႪ‚ ‚Á‚½‚¯‚Ç�A‚Ç‚¤Žg‚¤‚Ì‚©—Ç‚•ª‚©‚è‚Ü‚¹‚ñ�B
t = TemplateText.new '<p id="a">sample_text</p>'
t.expand(STDOUT, { :a=>SanitizedString["<xxx>"] })
•¶Žš—ñ‘S‘̂ɑ΂µ‚Ä‚â‚肽‚¢‚̂ł·�B
0930929
NGNG‚悤‚·‚é‚É�Astr="&hoge"‚ɑ΂µ‚Ä�A
SanitizedString[str]‚Æ‚â‚ê‚Ηǂ©‚Á‚½‚̂łµ‚½�B
0931ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWarlus‚ÌŠJ”ƒRƒ~ƒ…ƒjƒeƒB‚Á‚Ăǂꂂ炢‘å‚«‚¢‚Ì�H‚»‚à‚»‚àƒI�[ƒvƒ“�H
‚È‚ñ‚©Zope‚Ý‚½‚¢‚ȈÀ�SŠ´‚ª‚È‚¢‚ñ‚¾‚æ‚È�B
0932ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒRƒ~ƒ…ƒjƒeƒB‚Æ‚µ‚Ä‚Í�¬‚³‚¢‚ÆŽv‚¤�B
(‚Å‚à�A�Å�‰‚͂ǂ±‚à�¬‚³‚¢�B)
‚ЂƂè‚Í�¤—p‚̃AƒvƒŠƒP�[ƒVƒ‡ƒ“‚ð�ì‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚¾‚¯‚Ç‚Ë�B
ƒ\�[ƒX‚ÍGPL‚Ƀ‰ƒCƒZƒ“ƒX‚³‚ê‚Ä‚¢‚é‚©‚ç�AƒI�[ƒvƒ“‚¾‚¯‚Ç�A
GPL3‚ª�o‚½‚ç�AŒë‰ð‚³‚ê‚»‚¤‚¾‚È�B
‚Æ‚±‚ë‚Å�AZope‚Á‚ĈÀ�S‚©?
ƒo�[ƒWƒ‡ƒ“ƒAƒbƒv‚Ì‚½‚тɌ݊·�«‚ª‚È‚‚È‚é‚Á‚Ęb‚ð•·‚‚ñ‚¾‚ª�B
(‚ ‚Æ�A2.6‚ł͓ú–{Œê‚ª‚Ú‚ë‚Ú‚ë‚炵‚¢�B“ú–{‚Ì�l‚ª•¶‹å‚ð
Œ¾‚Á‚Ä�C�³‚µ‚Ä‚à‚ç‚Á‚Ä‚¢‚邯‚±‚ë‚Ý‚½‚¢)
0933ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG•û–@‚ð‹³‚¦‚Ä‚¢‚½‚¾‚«‚½‚¢‚̂ł·‚ª�B‚¨”»‚è‚ɂȂé•û‚Í‚¢‚Ü‚·‚©�H
0934ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWindows APIŽ©‘Ì•ª‚©‚ç‚È‚¢‚Æ‚¢‚¤‚̂Ȃç�AƒXƒŒˆá‚¢�B
API‚Æ‚µ‚Ă͕ª‚©‚邯‚ÇRuby‚ł̂â‚è•û‚ª•ª‚©‚ç‚È‚¢‚Æ‚¢‚¤‚È‚ç�A
C‚©C++‚̃Tƒ“ƒvƒ‹ƒR�[ƒh‚ðŽ¦‚µ‚Ä‚‚ê�B
0935ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGwsh = WIN32OLE.new("WScript.Shell")
wsh.logEvent 1, "ƒGƒ‰�[‚¾‚æ"
#1 .. ƒGƒ‰�[, 2 .. Œx��, 4 .. �î•ñ
0936933
NGNGWshShell = WScript.CreateObject("WScript.Shell")
WshShell.LogEvent(0, "OK")
‚Å‚¢‚¯‚Ü‚µ‚½�B
0937ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGWindows‚ÌŠÖ˜A‚¯ŽÀ�s‚ðRuby‚©‚ç‚·‚é•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©�H
tako.html ‚ðƒ^ƒuƒuƒ‰ƒEƒU‚ÅŒ©‚½‚¢‚Å‚·�B
0938ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGcmd.exe /c tako.html
‚łȂ«‚á Win32API ‚Å ShellExecute
0939937
NGNG‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�B
0940ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚É�ARuby‚ÌEclipseƒvƒ‰ƒOƒCƒ“(RDT:Ruby Development Tool)‚Ì
ƒvƒ�ƒWƒFƒNƒg‚ª‚ ‚é‚ñ‚¾‚¯‚Ç‚à�A�ŋߓ®‚«‚ª‚È‚¢�c�c�B
Rubyƒvƒ�ƒOƒ‰ƒ}‚ÌŠF‚³‚ñ‚ÅRDT‚ð�·‚è�ã‚°‚Ü‚¹‚ñ‚©�H
0941ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGEclipse‘Ήž(�E�Í�E)²²¯!
�·‚è�オ‚Á‚Ä—~‚µ‚¢‚¯‚Ç“ú–{‚Å‚ÍWindows‘ΉžˆÈ�ã‚É
Œº�lŽó‚¯‚Ì‚µ‚È‚³‚»‚¤‚ȃvƒ�ƒWƒFƒNƒg‚¾‚È‚Ÿ�E�E�E
0942ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒ_ƒ�‚©‚È‚ �B˜R‚ê‚ÍŽdŽ–‚Å‚ÍJava‚Ȃ̂ÅEclipseŽg‚Á‚Ä‚é‚ñ‚¾‚¯‚Ç�A
‚±‚Ì�ÝŒvŽv‘z‚Í(¥�Í¥)²²!‚ÆŽv‚Á‚ÄRDT‚É‚à�vŒ£‚µ‚½‚¢‚ñ‚¾‚¯‚Ç�A
Eclipse*‚Ì*ŠJ”‚Á‚Ä‚¿‚å‚Á‚Æ•~‹��‚‚¢‚ñ‚¾‚æ‚È�c�c�B
GUIƒvƒ�ƒOƒ‰ƒ~ƒ“ƒO‚Í‚ ‚ñ‚Ü‚è�Ú‚µ‚‚È‚¢‚µ�B
‚Ȃ̂Å�Aƒjƒbƒ|ƒ“‚ÌRuby‹ŽÒ‚Ì�~—Õ‚ð‘Ò‚¿‚‚¯‚é“ú�X‚Å‚·�B
(Ž©•ª‚Å‚à�‚µ‚¸‚•׋‚Í‚µ‚Ä‚é‚ñ‚¾‚¯‚Ç)
0943ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0944ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚»‚̉”\�«‚Í’á‚¢‚ÆŽv‚¤�B
“ú–{‚Å‚Ìeclipse‚Ì’m–¼“x‚Á‚Ä(JavaˆÈŠO‚ÌIDE‚Æ‚µ‚Ä‚Í)‚»‚ñ‚È‚É
�‚‚‚È‚¢‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�B
ruby-talk‚Å‚ÍFreeRIDE‚ÌRich Kilmer‚©Curt Hibbs‚ ‚½‚肪�Å�‰‚É
eclipse‚ÌRubyplugin‚ð�Å�‰‚É�ì‚낤‚Æ‚µ‚Ä‚¢‚½‚ñ‚¾‚¯‚Ç�A
“r’†‚ÅFreeRIDE‚ɕςí‚Á‚Ä‚µ‚Ü‚Á‚½�B
(‚¿‚Ȃ݂ɓú–{‚ÅFreeRIDE‚ª‚܂Ƃà‚ÉŽg‚í‚ê‚邿‚¤‚ɂȂ邱‚Ƃ͓–•ª‚È‚¢‚Å‚µ‚傤)
‚»‚êˆÈ�~ruby-talk‚Å‚ÍEclipse‚æ‚è‚àFreeRIDE‚Ì•û‚ªŽå—¬
‚̂悤‚ÈŠ´‚¶‚ðŽó‚¯‚é�B
ŠÈ’P‚ÈRubyƒXƒNƒŠƒvƒgƒp�[ƒT�[‚ƃfƒoƒbƒK‚ª‚ ‚é‚©‚Ç‚¤‚©‚ª
RDT‚Ìpoint‚ɂȂé‹C‚ª‚·‚é�B‚»‚̕ӂðsupport‚Å‚«‚ê‚Î
SWT‚ÆEclipse‚ÌŠù‘¶‚Ì‹@”\‚ðŽg‚Á‚Ä�A—Ç‚¢IDE‚ɂȂé‰Â”\�«‚à�c�B
0945940
NGNG‚ð‚¿‚å‚Á‚Ɠǂñ‚ł݂½‚ñ‚¾‚¯‚Ç�A
> /PerspectiveFeature -- Implement eclipse-like perspectives.
‚Æ‚©
> * Plug-ins: the IDE should follow the Eclipse model of implementing features through plug-ins.
‚Æ‚©�A‘¼‚É‚àEclipse‚Ö‚ÌŒ¾‹y‚ª‚Ý‚ç‚ꂽ‚肵‚Ä�A
‚È‚ñ‚ƂȂyet another Eclipse‚È“õ‚¢‚à‚·‚邯‚ê‚Ç�A‚±‚Ì�ê�‡�A
FOX‚ÅŽÀ‘•‚µ‚Ă邯‚¢‚¤‚Ì‚ªRubyist‚ÌáàŽ�‚©�B
Java‚ÅRuby‚ÌIDE‚ðŽÀ‘•‚·‚邯‚¢‚¤‚̂͊m‚©‚ÉŠuŒC‘~áy‚©‚à‚µ‚ê‚È‚¢‚¯‚ê‚Ç�c�c
RDT‚É‚«‚¿‚ñ‚Æ‚µ‚½Rubyƒp�[ƒT‚ƃfƒoƒbƒK‚ª‚È‚¢‚©‚ç‚»‚Ì“_ƒLƒrƒVƒC�B
PHP‚È‚ñ‚©‚ÍEclipse‚ł̊J”ŠÂ‹«‚à�®‚Á‚Ä‚¢‚邾‚¯‚ÉŽ•áy‚¢Žv‚¢‚µ‚Ă܂·�B
0946ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG> (‚¿‚Ȃ݂ɓú–{‚ÅFreeRIDE‚ª‚܂Ƃà‚ÉŽg‚í‚ê‚邿‚¤‚ɂȂ邱‚Ƃ͓–•ª‚È‚¢‚Å‚µ‚傤)
—�—R‚Í?
0947ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG“ú–{Œê‚ª‚ë‚‚É’Ê‚ç‚È‚¢‚©‚ç�B
0948ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹Z�pŒn‚̃TƒCƒg‚¾‚©‚ç�uƒfƒUƒCƒ“‚Í‚»‚ê‚Ù‚Ç‹C‚É‚µ‚ĂȂ¢�v‚Æ‚¢‚¤
ƒXƒ^ƒ“ƒX‚¾‚Á‚½‚ç‚Ü‚¾‚¢‚¢‚Ì‚¾‚¯‚Ç�AƒJƒbƒR‚æ‚‚µ‚悤‚Æ‚µ‚ÄŽ¸”s‚µ‚½
‚Æ‚¢‚¤Š´‚¶‚¾‚©‚ç�A‚Ç‚¤‚É‚à’É�X‚µ‚¢‚Ì‚¾‚¯‚Ç�B
0949ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�¡ƒAƒNƒZƒX‚µ‚½‚狌ƒfƒUƒCƒ“‚¾‚Á‚½�B
–ß‚µ‚½‚Ì‚©�H
0950ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹ŒƒfƒUƒCƒ“‚ł͂Ȃ‚Ä�A�VƒfƒUƒCƒ“‚ð‚·‚±‚µ‰ü—Ç‚µ‚½‚̂łÍ?
0951ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRubyƒvƒ‰ƒOƒCƒ“‚ð�ì‚낤‚Æ‚µ‚½‚ñ‚¾‚©‚ç�A
‚»‚̉e‹¿‚ª‚ ‚Á‚Ä“–‘R‚¾‚낤�B
�¡‚ÌFreeRIDE‚ÍFOX‚Ì‚¹‚¢‚Å“ú–{Œê“™‚ªŽg‚¦‚È‚¢‚Ì‚Å�A
�«—ˆ“I‚É‘¼‚ÌGUIƒc�[ƒ‹ƒLƒbƒg‚É’u‚«Š·‚í‚邱‚ƂɂȂÁ‚Ä‚¢‚½‚Í‚¸�B
(Šm‚©wxWindows‚̃oƒCƒ“ƒfƒBƒ“ƒO‚ðCurt Hibbs‚ª�‘‚¢‚Ä‚¢‚½‚Í‚¸�B)
PHP‚Á‚Ä�¤—pIDE(–¼‘O–Y‚ꂽ)‚ÌEclipseƒx�[ƒX‚ð‚µ‚½‚à‚Ì‚ª‚ ‚Á‚½‹C‚ª‚·‚邯‚Ç�A
Free‚ÌIDE‚Í‚±‚ê�H
ttp://webstudio.japansite.org/
0952ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGFreeRIDE‚Ìgtk+ƒoƒCƒ“ƒfƒBƒ“ƒO‚ª‚ ‚邯‚©‚È‚¢‚Æ‚©�A
‚Ç‚±‚©‚ÅŒ©‚È‚©‚Á‚½�H
0953ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0954ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
0955IP‹L˜^ŽÀŒ±
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 –¼‘O�F‚Ђë‚ä‚« �Ÿ3SHRUNYAXA �—‚Ç‚¤‚â‚çŠÇ—��l �š “Š�e“ú�F03/01/08 17:13 ID:???
‚»‚ñ‚Ȃ킯‚Å�AqbƒT�[ƒo‚ÅIP‚Ì‹L˜^ŽÀŒ±‚ð‚Í‚¶‚߂܂µ‚½�[�B
27 –¼‘O�F�S“¾‚ð‚æ‚“ǂ݂܂µ‚傤 “Š�e“ú�F03/01/08 17:20 ID:yL/kYdMc
SETTING.TXTŠÇŠ�‚łȂ¢‚Æ‚¢‚¤‚±‚Ƃ͑SŽI“±“ü‚ðŽ‹–ì‚É�A‚©�H
38 –¼‘O�F‚Ђë‚ä‚« �Ÿ3SHRUNYAXA “Š�e“ú�F03/01/08 17:22 ID:rLfxQ17l
>>27
‰s‚¢‚Å‚·�B
73 –¼‘O�F‚Ђë‚ä‚« �Ÿ3SHRUNYAXA “Š�e“ú�F03/01/08 17:27 ID:rLfxQ17l
�„‚Æ‚±‚ë‚Å�AIP‚ª”²‚©‚ê‚ĉ½‚©�¡‚܂łƕςí‚邱‚Æ‚Á‚Ä‚ ‚é‚̂łµ‚傤‚©�H
�E�¡‚܂łæ‚è�AƒT�[ƒo‚ª�d‚‚È‚é�B
�E�Ù”»�Š‚âŒxŽ@‚©‚ç‚Ì�Ɖ‚ ‚Á‚½�ê�‡‚É‚ÍIP‚ð’ñ�o‚·‚邱‚Æ‚ª‚ ‚é�B
0956ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0957ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‹t“]‚à‰½‚à‚È‚¢‚Á‚Ä�B�@�@�@�@�@�@�@�@�@�@
�¨‚¢‚Å�ã��‚È‚ñ‚©‚µ‚Ä‚àˆê”‚Å�ã��‹p‰º(–å‘O•¥‚¢)‚¾‚æ�B
�@�@�@
“ñ�R‚àˆê�R‚ðŽxŽ��B‚±‚ê‚ɑ΂µ‚Ä�ã��‚µ‚悤‚É‚à�A
ŒYŽ–‘i�ׂƓ¯—l�AŽ©—R‚É�ã��‚Å‚«‚é‚Á‚Ä‚à‚ñ‚Å‚à‚È‚¢‚̂ł·�B
–¯Ž–‘i�×–@312�ð �i�ã��‚Ì—�—R�j 1�€
�u�ã��‚Í�A”»Œˆ‚ÉŒ›–@‚̉ðŽß‚ÌŒë‚肪‚ ‚邱‚Æ
‚»‚Ì‘¼Œ›–@‚̈ᔽ‚ª‚ ‚邱‚Æ‚ð—�—R‚Æ‚·‚邯‚«‚É�A‚·‚邱‚Æ‚ª‚Å‚«‚é�B�v
http://www.m-net.ne.jp/~doba/goto/hon.htm
�@�@
‚悤‚·‚é‚É�ã��‚µ‚Ä‚à�¡‚Ì�§“x‚Å‚Í100�“–³‘Ê�B ‚±‚ê‚ÅŠ®‘S�I—¹‚Á‚Ä‚±‚Æ‚©�B
�@
0958ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@�@�@�@�@�@�@‚Q‚¿‚á‚ñ‚Ë‚é‚Ì‚¨Š©‚߂Șb‘è‚Æ
�@�@�@�@�@ƒlƒbƒg‚ł̖ʔ’‚¢�o—ˆŽ–‚ð”z‘—‚µ‚½‚¢‚ÆŽv‚Á‚Ă܂·�B�B�B
===============================“ÇŽÒ�”�F 138720�l�@”�s“ú�F2003/1/9
”N––”NŽnƒ{ƒP‚ª‚»‚ë‚»‚ëŽû‚Ü‚èŽn‚ß‚½�¡“ú‚±‚Ì‚²‚ë‚̂Ђë‚ä‚«‚Å‚·�B
‚»‚ñ‚Ȃ킯‚Å�A”N––‚É—\��‚µ‚½IP‹L˜^‚Å‚·‚ªŽÀŒ±‚ðŠJŽn‚µ‚Ä‚¢‚Ü‚·�B
�u‚Q‚¿‚á‚ñ‚Ë‚é20030107�v
‚±‚ñ‚ÈŠ´‚¶‚ÅŠeŒfަ”‚Ì�ʼnº•”‚É“ú•t‚ª“ü‚Á‚Ä‚é‚ñ‚Å‚·‚ª�A
20030107ˆÈ�~‚ɂȂÁ‚Ă邯‚±‚ë‚̓�ƒO‹L˜^ŽÀŒ±’†‚Å‚·�[�B
‚ñ‚¶‚á�I
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„ŸAge2ch„Ÿ
�¡‚±‚Ì�‘‚«�ž‚Ý‚Í�AAge2ch‚ðŽg‚Á‚Ä”z�M‚³‚ê‚Ä‚¢‚Ü‚·�B
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ
0959ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0960ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0961ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0962ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�„1 �F‚Ђë‚ä‚« �Ÿ3SHRUNYAXA �—‚Ç‚¤‚â‚çŠÇ—��l �š �F03/01/08 17:13 ID:???
�„‚»‚ñ‚Ȃ킯‚Å�AqbƒT�[ƒo‚ÅIP‚Ì‹L˜^ŽÀŒ±‚ð‚Í‚¶‚߂܂µ‚½�[�B
IP‹L˜^ŽÀŒ±
http://qb.2ch.net/test/read.cgi/accuse/1042013605/l20
‚h‚o‹L˜^ŽÀŒ±‚o‚`‚q‚s‚Q
http://qb.2ch.net/test/read.cgi/accuse/1042020193/l20
‚±‚ê‚܂ł̂ ‚ç‚·‚¶‚Í >>2-20 ‚ ‚½‚è‚É’N‚©‚¨Šè‚¢�B
0963ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG(=߃Öß)É‚¡‚å‚£
0964ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�^�^|�@ |�@�@�R�@�@�@�@�@�@�@�@�@�@�@�@/�@�@�@�@�@�@�@�@�@�@�R�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@/�_
�^�^|�@|�@�@�@�@�R�@�@�@�@�@�@�@�@�@/�@�@�@�@�@�@�@�@�@�@�@�@�R�@�@�@�@�@|�_�@�@�@�@�@�@�@/�@�@�_
�^�^| |�@�@�@�@�@�@�R�@�@�@�@�@�@ /�@�@�@�@�@�@�@�@�@�@�@�@�@�@�R�@�@�@�@|�@�@�_�@�@�@�@/�@�@�@�@�@�_
�^�^ |�@�@�@�@�@�@�@�@�R�@�@�@�@/�@�@�@�@�@�@�@�@�@�@�@�@|�@�@�@ |�@�@�@�@|�@�@�@�_�@�@/�@�@�@�@�@�@�@�_
�^�@ |�@�@�@�@�@�@�@�@�@�@�R�@ /�@�@�@�@�@�@�@�@�@�@�^ �_!�@�@�@ |�@�@�@�@|�@�@�@�@�_/�@�@�@�@�@�@�@�@�@�_
�^�@|�@�^�_�@�@�@�@�@�@�@�@V �@�@�@�@�@�@�@�@ �^�@�@�@�@�@�S¤�Ú�Q�Q�Q|
�^�@�Ú�@�@�@�_�@�@�@�@�@�@�@�@�@�@�@�@ �@�@�^�@�@�@�@_-�\�P`�_
�^�^ |�P -�R �@�_�@�@�@�@�@�@ �@�@�@�@�^�@ �^�@�P|�@�@�@�@�@ �@�_
�^�^�@|�@�@|�@�@�_�@�_�@�@�@�@| �@�@�^�@ �^�@�@�@�^�@�@�@�@�@�@�@�^�@�@ƒn�[ƒnƒbƒnƒbƒn�I�I�I�I
�^�^�^|�@ �@�R¤_�@ �i�_�__�@�@|__�^�@�^�ü _,.-' �@�@�@�@�@�@�@�^
�^�^�^�@|�@._�@�@` �]-�]' �R!.l|, l__�^�R�]-�]�]'�L�@�@�@__,.�@�@�@�^�@�@�@�@�@�@ƒUƒ}‚ ‚È‚¢‚È�I�I�I�I
�^�^�^�^|�@�@�P����^�@=i�@i=�@�R��������P�@�@�@�@ �_
�^�^�^�^ |�@�@�@�@�@�@�@�@�@| �u�@�@�@�@�@�@ -„¢�@�@�@�@�@�@�@�@�_�@�@�@�@�@�@�@�@�@‚Ђë‚ä‚«‚³‚ñ‚æ‚§�I�I�I�I
�^�^�^�^�@|�@�@�@�@�@�@�@�^|�@�@�@�@�@�@�@, ƒw�@�@�@�@�@�@�@�@/�[ �_
�^�^�^�^�^|�@�@�@�@�Q�Q�R| �R�@�@�@�@�^�@�^|�@�@�@�@�@�@�@/�@�@/
�^�^�^�^�^ |�@�@�@�@|�]--“ñ“ñ“ñ“ñ =-ƒC�@ /�@ �@�@�@�@�@/�@�@/�@�@�@�@�@�^|
�^�^�^�^�^�@|�@�@�@�@‚x�L�@�@�@�@�@�@�@�@�@`¤/�@�@�@�@�@�@/�@�@/�@�@�@�@�^�@�@ |�@�@�@�@/�_
�^�^�^�^�^�^�@�_�@�@�@|�@�@�@�@�@�@�@�@�@�@/�@�@�@�@�@�^�@ /�@�@�^�@�@�@�@�@ |�@�@�@/�@�@�_
�^�^�^�^�^�^�^�^�_�@�@|�@�@�@�@�@�@�@�@ /�@�@�@�@ �^�@�@/�@�^ �@�@�@�@�@�@�@|�@�@/�@�@�@�@�_
�^�^�^�^�^�^�^�^�^�R�@�@!“ñ“ñ“ñ“ñ�^�@�@�@ �^�@/ �@/�^�@�@ �@�@�@�@�@�@�@|�@/�@�@�@�@�@�@�_
�^�^�^�^�^�^�^�^�^�^�R �@�@„ª==�@�@�@�@�^�@�@ /�@�@�@�@�@�@�@�@�@�@�@�@�@�@|/�@�@�@�@�@�@�@�@�_
�^�^�^�^�^�^�^�^�^�^�^�_�Q�Q�Q__�^�@�@�@�@/
�^�^�^�^�^�^�^�^�^�^
0965ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚¹‚©‚ñ‚Ç
‚³�[‚Ç
‚Ó‚§‚ñ‚Ç
‚Ó‚Ÿ‚¢‚Ô‚ñ‚Ç
0966ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Q‚¿‚á‚ñ“ÆŽ©‚Ì�í�œƒ‹�[ƒ‹‚É�]‚í‚˂΂Ȃç‚È‚¢–@“I�ª‹’‚Í‚ ‚è‚Ü‚¹‚ñ�B
‚Ü‚½�A‚Q‚¿‚á‚ñ‚Ì�í�œƒ‹�[ƒ‹Ž©‘Ì�A”»Œˆ‚ł͕s�\•ª‚È‚à‚̂Ƃ³‚ê‚Ä‚¢‚Ü‚·�B
�¡�u–¼—_šÊ‘¹‚ð’m‚肦‚½Žž“_‚Å�í�œ‚µ‚ë‚È‚ñ‚Ä–³’ƒ‹ê’ƒ‚¾�I�v
�¡‰ñ�AT“®•¨•a‰@‘¤‚Í“à—e�Ø–¾—X•ւłЂë‚ä‚«‚É10“úˆÈ“à‚Ì�í�œ—v‹�‚µ‚Ü‚µ‚½�B
‚Q‚¿‚á‚ñ‚Ì�í�œƒ‹�[ƒ‹‚É‘¥‚炸‚Æ‚à�AŽÐ‰ï’Ê”O�ã‚É‚¨‚¢‚Ä‚à�A–@“I‚É‚à�A‚±‚ê‚Í�\•ª‚È’Ê’m‚Å‚·�B�@�@�@
0967ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ»�݂̎d—l‚Å‚àƒuƒ‰ƒEƒU‚ʼn{——‰Â”\‚Å‚·‚ª
0968ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒÂ�l“I‚ɂ͕ʂɗǂ¢‚ÆŽv‚¢‚Ü‚·‚¯‚Ç�B
‚܂Ƃ߂̘b‚Æ‚©•׋‚ɂȂé‚ñ‚¶‚á‚È‚¢‚©‚È‚Ÿ‚Á‚Ä�B
‚·‚łɈړ®‚³‚ꂽ‚悤‚Ȃ̂ł±‚êˆÈ�㌾‚¢‚Ü‚¹‚ñ�B
“¦‚°‚é‚Ù‚¤‚Å‚·�B
0969ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGŒ§“àŽ™“¶‚ÌŽE�l—\��
ƒlƒbƒgŒfަ”Â�u2‚¿‚á‚ñ‚Ë‚é�v‚É
Œ§‹³ˆÏ‚ª‚ªˆÀ‘SŠm•Û’Ê’m
�¡’©�A•ÛŒìŽÒ•t‚«“Y‚¢
ˆ«Ž¿‚È‚¢‚½‚¸‚ç‚©
�@ƒCƒ“ƒ^�[ƒlƒbƒg‚̃tƒŠ�[Œfަ”Â�u2‚¿‚á‚ñ‚Ë‚é�v‚É�Î�쌧“à‚Ì�¬Šw�¶‚Ì‘å—ÊŽE�l‚ð
—\��‚·‚é�‘‚«�ž‚Ý‚ª9“ú‚܂łɌ©‚‚©‚Á‚½�BŒ§‹³ˆÏ‚͈«Ž¿‚È‚¢‚½‚¸‚ç‚ÆŒ©‚Ä‚¨‚è�A
–œˆê‚É”õ‚¦Ž™“¶‚̈À‘SŠm•ۂ𑣂·’Ê’m‚ð‘S�¬’†�‚�Z‚É�o‚µ‚½�BŠeŒxŽ@��‚àŠÇ“à‚Ì
�¬Šw�ZŽü•Ó‚ðƒpƒgƒ��[ƒ‹‚·‚é�B
�@Œ§‹³ˆÏ‚É‚æ‚邯�AŽE�l—\��‚Í�uƒLƒ‰�[�v‚Ì–¼‘O‚Å”ª“ú�[–é‚©‚ç‹ã“úŒß‘O—뎞‰ß‚¬‚Ü‚Å�A
�u‚ ‚µ‚½‚Ì’©�A“o�Z“r’†‚Ì�¬Šw�¶‚ð‘_‚Á‚Ä‘å—ÊŽE�l‚ðŽÀ�s‚µ‚Ü‚·�BŽÔ‚Å�¬Šw�¶‚É
“Ë‚Á�ž‚Þ‚±‚Æ‚àŒv‰æ‚µ‚Ă܂·�v‚Ȃǂƌ܉ñ‚ɂ킽‚Á‚Ä‹L‚³‚ꂽ�B
�@Œ§‹³ˆÏ‚Ì’Ê’m‚Å‚Í�A•s�RŽÔ—¼‚ðŒ©‚©‚¯‚½�ê�‡‚ÍŒxŽ@��‚ɘA—�‚·‚邿‚¤‘£‚µ‚Ä‚¢‚é�B
�¬Šw�Z‚Ì’†‚É‚Í�\“ú’©‚Ì“o�ZŽžŠÔ‘Ñ‚É�A‹³ˆõ‚â’nˆæ�Z–¯‚ª’ÊŠw˜H‚É—§‚Á‚Ä
Ž™“¶‚ðŒ©Žç‚é‚Ù‚©�A•ÛŒìŽÒ‚ªŽ™“¶‚É•t‚«“Y‚¤‚Ȃǂ̌x‰ú‘Ô�¨‚ð•~‚‚Æ‚±‚ë‚à‚ ‚é
0970ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚̃XƒŒ‚ÌIP‚Æ‚Á‚Ä‘i�ׂ·‚é‚Ì‚¾‚¯‚ÍŽ~‚߂Ă‚ê‚æ�BƒNƒ`ƒrƒ‹ƒQ�B
http://aa.2ch.net/test/read.cgi/kao/1039731177/
‚¤‚í‚Á‰½‚©ƒNƒ‰ƒbƒN‚³‚ê‚Ä�ŸŽè‚É•¶�Í‚ª�E�E�E‚ �A‚³‚ç‚Ƀ|ƒCƒ“ƒ^‚ª�‘‚«�ž‚݃{ƒ^ƒ“‚É�E�E�E‚ ‚í‚í‚í�I�I
0971ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‰½�ˆ‚Ì’N‚©‚à’m‚ç‚ñ“z‚ª�ŸŽè‚È‚±‚Æ�‘‚¢‚½Ž–‚É‚æ‚Á‚Ä
Ž©•ª‚ɉ΂̕²‚ª”ò‚ñ‚Å—ˆ‚½‚ç�A”é–§‚ðŽç‚Á‚Ä‚â‚é‹`—�‚Í
‚È‚¢‚æ‚ȂЂë‚ä‚«‚É‚µ‚½‚ç�B
0972ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�@�@�@�@�@�@�@�@�@‚Q‚¿‚á‚ñ‚Ë‚é‚Ì‚¨Š©‚߂Șb‘è‚Æ
�@�@�@�@�@ƒlƒbƒg‚ł̖ʔ’‚¢�o—ˆŽ–‚ð”z‘—‚µ‚½‚¢‚ÆŽv‚Á‚Ă܂·�B�B�B
===============================“ÇŽÒ�”�F 139038�l�@”�s“ú�F2003/1/10
‚Ȃɂâ‚ç�A˜A“úƒ�ƒ‹ƒ}ƒK‚¾‚µ‚Ä‚é‚Ђë‚ä‚«‚Å‚·�B
‚»‚ñ‚Ȃ킯‚Å�Aƒ�ƒO‹L˜^ŽÀŒ±‚Å‚·‚ª�A‚¢‚¿‚¢‚¿ƒT�[ƒoŽw’è‚·‚é‚Ì‚ª–Ê“|‚Ȃ̂Å�A
‘S•”‚̃T�[ƒo‚É“ü‚ê‚Ă݂܂µ‚½�B
�d‚‚È‚Á‚Ä—Ž‚¿‚½‚肵‚Ä‚à‚²ˆ¤›g‚Á‚Ä‚±‚Æ‚Å�B�B�B
‚ñ‚¶‚á�I
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„ŸAge2ch„Ÿ
�¡‚±‚Ì�‘‚«�ž‚Ý‚Í�AAge2ch‚ðŽg‚Á‚Ä”z�M‚³‚ê‚Ä‚¢‚Ü‚·�B
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ
0973ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0974ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG”á”»‚Ì‘Î�ۂƂȂÁ‚½’c‘Ì‚ªŒÂ�l‚ð“Á’è‚·‚邱‚Ƃ͂ł«‚È‚¢‚Å‚µ‚å�B
0975ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0976ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0977ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚Æ‚è‚ ‚¦‚¸�AŽŸƒXƒŒ
Ruby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
0978ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0979ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0980ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGRuby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
0981ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1000Žæ‚è‚â‚Á‚Ä‚à‚¢‚¢‚Å‚·‚©�H
0982ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0983ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG‚±‚ê‚àŽž‚Ì—¬‚ê‚©‚Ë
‚à‚¤‚¾‚ß‚Û
0984ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�uŽ©ŒÈ�Ó”C‚Å�‘‚¯�v(^_^;)‚Â�[‚±‚Æ‚â‚Ë�B
‰½‚ª‘å�ä•v‚©‚Ç‚¤‚©‚Á‚Ă̂à�AŽ©ŒÈ�Ó”C‚Å�l‚¦‚Ü‚µ‚傤�B
’N�X‚ª‘å�ä•v‚Á‚ÄŒ¾‚Á‚½‚©‚ç‚È‚ñ‚Ä�[Œ¾‚¢–ó‚Í‚à‚¤’Ê—p‚µ‚È‚¢‚ñ‚Å�E�E�E
0985ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0986ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0987ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0988ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0989ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG’n‹…�ã‘S•”Œx‰ú‚µ‚ê�B
0990ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�¡�uŒ¾˜_‚ÌŽ©—R‚͂ǂ¤‚È‚Á‚½�I�v
Œ¾˜_‚ÌŽ©—R‚Í�A–¼—_šÊ‘¹‚ɂ͓K—p‚³‚ê‚Ü‚¹‚ñ�B
”á•]�E”á”»‚Æ‚¢‚Á‚½Œ¾˜_‚¾‚Æ�Ø–¾‚·‚é‚Ì‚Í�A”Œ¾ŽÒ‚Ì�Ó”C‚Å‚·�B
�¡�u�Å�‚�Ù‚ª‚ ‚é‚¶‚á‚È‚¢‚©�I�@�‚�Ù�·‚µ–ß‚µ‚¾�I�@”½‘i‚µ‚ë�I�v
�Å�‚�Ù‚ÍŒ›–@‚É—�‚܂Ȃ¢ŒÀ‚è�AŽó—�‚µ‚Ä‚à‚炦‚Ü‚¹‚ñ�B�¡‰ñ‚ÌŒ�‚ł͕sŽó—�‚͂قڊm’è‚Å‚µ‚傤�B
�‚�Ù�·‚µ–ß‚µ‚̉”\�«‚͂Ђ¶‚傤‚É’á‚¢‚̂͂Ђë‚ä‚«‚à�³’m‚Å�A‚¾‚©‚ç�A�Å�‚�Ù‚É‚à‚Á‚Ä‚¢‚±‚¤‚Æ‚µ‚Ä‚¢‚Ü‚·�B
”½‘i‚ɂ‚¢‚Ä‚à�A’N‚ð‘i‚¦‚é‚©‚Æ‚¢‚¤“Á’肪�¢“ï�B‚±‚ê‚Ü‚½•sŽó—�‚̉”\�«‚ª‚Ђ¶‚傤‚É‘å�B
�¡�uT“®•¨•a‰@‚Í�í�œƒ‹�[ƒ‹‚É�]‚Á‚½‚Ì‚©�I�@‚Q‚¿‚á‚ñ‚É‚Í�í�œƒ‹�[ƒ‹‚ª‚¿‚á‚ñ‚Æ‚ ‚é‚ñ‚¾�I�v
‚Q‚¿‚á‚ñ“ÆŽ©‚Ì�í�œƒ‹�[ƒ‹‚É�]‚í‚˂΂Ȃç‚È‚¢–@“I�ª‹’‚Í‚ ‚è‚Ü‚¹‚ñ�B
‚Ü‚½�A‚Q‚¿‚á‚ñ‚Ì�í�œƒ‹�[ƒ‹Ž©‘Ì�A”»Œˆ‚ł͕s�\•ª‚È‚à‚̂Ƃ³‚ê‚Ä‚¢‚Ü‚·�B
0991ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG�òƒsƒ“Žq‚Ì—ª‚Á‚Ä‚±‚Æ�B
0992ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGƒIƒŒ‚à“¯‚¶‚Ì•t‚¯‚Ä—V‚Ñ‚½‚¢�E�E�E�B
0993ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0994ŽR�è�Â
NGNG0995ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0996ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0997ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0998ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG0999ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNG1000ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1042004759/
1001‚P‚O‚O‚P
Over 1000Thread‚à‚¤�‘‚¯‚È‚¢‚Ì‚Å�A�V‚µ‚¢ƒXƒŒƒbƒh‚𗧂ĂĂ‚¾‚³‚¢‚Å‚·�B�B�B
ƒŒƒX�”‚ª1000‚ð’´‚¦‚Ä‚¢‚Ü‚·�B‚±‚êˆÈ�ã�‘‚«�ž‚݂͂ł«‚Ü‚¹‚ñ�B