ƒgƒbƒvƒy�[ƒW�Ëtech
1001ƒRƒ�ƒ“ƒg360KB

Ruby‚ɂ‚¢‚Ä Part 2

ƒŒƒX�”‚ª1000‚ð’´‚¦‚Ä‚¢‚Ü‚·�B‚±‚êˆÈ�ã�‘‚«�ž‚݂͂ł«‚Ü‚¹‚ñ�B
0001ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒIƒuƒWƒFƒNƒgŽwŒüƒXƒNƒŠƒvƒgŒ¾ŒêRuby‚ɂ‚¢‚Ĉµ‚¤ƒXƒŒƒbƒh‚Å‚·�B

Ruby 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
�@�@�@�@�@�@�@�@�@�@�@�@ �Q_
�@�@�@�@�@�@�@�@�@ �@ �@ �@ /�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
‘¼‚É‚àƒAƒ“ƒ`‚ª—§‚Ä‚½ƒXƒŒ‚ª‚ ‚è‚Ü‚·‚ª�A‚±‚±‚ªŽd�Ø‚è‚È‚¨‚µ‚Ì
–{ƒXƒŒ‚Æ‚¢‚¤‚±‚Ƃłæ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·�B
0004ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>2
‚Í‚â
0005ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚q‚‰‚”‚…‚Ì�A–¼‘O‚Ì—R—ˆ‚Í�H
0006ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
<ŠÖ˜AƒXƒŒ>

ruby‚ðŒê‚éƒ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
0007 NGNG
š’– ÏÏÎÑŒ�È.........š’– ÏÏÍÑŒ�¾...nÜ......š’– ÏÏÌÑŒ�,¿..;Ü......š’– ÏÏËÑŒ�g...
......š’– ÏÏÉÑŒ�³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‚Ì–¼–³‚µ‚³‚ñNGNG
‚È‚ºƒIƒuƒWƒFƒNƒg‚ð�ì‚ç‚È‚¢‚Ń�ƒ\ƒbƒh‚ªŒÄ‚΂ê‚é‚̂ł·‚©�H

class Foo
�@def Foo.test
�@�@print "a"
�@end
end

Foo.test
0009ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒNƒ‰ƒXƒIƒuƒWƒFƒNƒg‚ª‚ ‚é‚©‚ç‚Å‚·�B
0010ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby/SDL•t‘®‚̃Tƒ“ƒvƒ‹ sgetest.rb ‚ðŽÀ�s‚³‚¹‚½‚­‚Ä�A
http://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
>>10
Šm‚©‚ß‚¸‚É�‘‚¢‚Ă邪�A�ŋ߂»‚ñ‚Șb‚ªML‚łȂ©‚Á‚½‚Á‚¯?
0012–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
‚Æ‚±‚ë‚Å>>7‚͂ȂÉ?
0013ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ArrayƒNƒ‰ƒX‚Ìfilterƒ�ƒ\ƒbƒh‚Á‚Ä�¡‚͂Ȃ¢‚̂ł·‚©�H
ŽÀ�s‚·‚邯‰½‚©
warning: Array#filter is deprecated; use Array#collect!
‚ÆŽ¶‚ç‚ê‚é‚ñ‚Å‚·‚¯‚Ç.....

0014ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‰pŒê‰Å�B
Array#filter‚Í�„�§‚³‚ê‚Ä‚¢‚È‚¢‚©‚çArray#collect‚ðŽg‚¦
‚Á‚Ä�‘‚¢‚Ä‚ ‚邾‚낤‚ª�A‚±‚̃nƒQ�B
001514NGNG
‚­‚»�Aƒ}ƒ‹ƒ`‚©‚æ�B‘„“cŽ�”]
0016ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¤‚¥�[‚ñ�A‚È‚ñ‚ŃNƒ‰ƒX‚ªƒIƒuƒWƒFƒNƒg‚È‚ñ‚¾‚æ�B

Œ^‚¾˜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
ƒ\ƒj�[‚̃Cƒ“ƒ^�[ƒ“‚Ì�\�ž‚݂Ă½‚ç‚¿‚å‚Á‚Æruby‚ª—v‹�‚³‚ê‚Ä‚½�B

�‘ŽYRuby‚ÍŠCŠO‚Å‚àŽg‚í‚ê‚Ä‚é‚Ì�H
0018ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽŸŠúPS2‚É‚ÍRuby‚©�H
0019ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>16
Smalltalk ‚Ȃǂà•׋­‚µ‚Æ‚¯�B

>>17
‚·‚łɃ†�[ƒU�lŒû‚ÍŠCŠO‚Ì•û‚ª‘½‚¢‚悤‚È�B
002010NGNG
ML’²‚ׂĂà‰ðŒˆ‚Å‚«‚¸�B�B�B
002116NGNG
>>19
‚È‚ñ‚Ånew‚µ‚È‚¢‚ŃNƒ‰ƒX‚̃�ƒ\ƒbƒh‚ªŒÄ‚΂ê‚é‚Ì‚©‚ª”[“¾‚¢‚©‚È‚¢‚ñ‚¾‚¯‚Ç�B
squeak‚̓Cƒ“ƒXƒg�[ƒ‹‚µ‚Ä‚ ‚邯‚Ç�A�¡‚Ì�ŠŽg‚Á‚ĂȂ¢�B
0022ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–Ù‚ê‚æƒJƒX‚ª�B
002316NGNG
‚È‚ñ‚¾‚æ�A‚µ‚ç‚Ë�[‚È‚ç’m‚ç‚È‚¢‚Å‚·‚Á‚Ä‚¢‚¦‚æ�B
‰´‚Í‚¢‚܃IƒuƒWƒFƒNƒg‚̃VƒŠƒAƒ‰ƒCƒY‚É–G‚¦‚Ä‚ñ‚¾‚©‚çŽ×–‚�¡–¼�B
002416NGNG
‚¨‚¢�A‚È‚ñ‚¾‚æ�I�A‚©‚Á‚Ăɑ��B‚³‚¹‚é‚È‚æ�B
ƒIƒŠƒWƒiƒ‹‚͉´‚¾‚©‚ç‚È�B
0025shige‚Ì‹`—�’íNGNG
‚Ü‚½shigeŒZ‚ª‚ ‚¿‚±‚¿‚Å–|–óƒ\ƒtƒgŽg‚Á‚Ä‚ ‚»‚ñ‚ł邿�B‚à‚¤ƒnƒQ‚©‚©‚Á‚Ä‚é
ƒIƒ„ƒW‚Ȃ̂É�B
Rubi‚ð�i‚߂Ă­‚ê‚Ä‚éshige‚³‚ñ‚ɂ͈«‚¢‚¯‚Ç�A–l‚ÍCOBOLer‚ɂȂ낤‚ÆŒˆ‚߂܂µ‚½�B
0026shigeNGNG
‚¨‚¨!�\�\‹`’í‚æ!
COBOLer‚ɂȂ邱‚Ƃ͔ߎ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
002710NGNG
ruby-ext‚¶‚á‚È‚­‚Äruby-list‚É“¯‚¶Ž¿–〈‚‚¯‚Ä�A
‚»‚ê‚ðŽQ�l‚É�A�Å�VƒpƒbƒP�[ƒW‚ðƒrƒ‹ƒh‚µ’¼‚µ‚Ä‰ðŒˆ‚µ‚Ü‚µ‚½�B
‚Ƃ肠‚¦‚¸‚ ‚肪‚Æ‚¤‚Å‚·>>11
0028shige‚Ì‹`—�’í NGNG
‚â‚Á‚Ï‚è�E�E�E�B
0029ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>16
ƒNƒ‰ƒXƒIƒuƒWƒFƒNƒg‚ª‚ ‚é‚©‚ç‚Å‚·�B
class Foo ‚ðŽÀ�s‚µ‚½Žž“_‚Å�B
0030ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
class Foo; end

‚Í�A

Foo = Class.new

‚Æ“¯‚¶�B
0031ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¶‚á�AƒNƒ‰ƒX‚ÍŒ^‚¶‚á‚È‚¢‚Ì�H
0032ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Class.new‚¾‚Æ–¼‘O‚ª•t‚©‚È‚¢‚©‚çclass Foo‚Æ‚Í�­‚µˆá‚¤�B
Class#name‚Æ‚¢‚¤ƒ�ƒ\ƒbƒh‚Å–¼‘O‚𓾂邱‚Æ‚ª‚Å‚«‚é�B
Œ^‚Ƀ�ƒ^‚ÈŒ^‚ª‚ ‚邯Žv‚¦‚Î�H
0033ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>32
Classƒ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
0034_NGNG
>>16
SELF‚à•׋­‚µ‚Æ‚­‚Æ‚¢‚¢‚æ�B
0035ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚  a 1
‚¡ 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
‚ �@�@�@�@�@�@a�@�@�@�@�@�@�@1
‚¡�@�@�@�@�@�@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‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ê‚ł͂ǂ¤�H’·‚·‚¬�H

ruby -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‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚Á‚¿‚Ì•û‚ª‚¿‚å‚Á‚Æ’Z‚©‚©‚Á‚½�B

ruby -e '("‚ ".."‚³").each_with_index {|v,i| puts "#{v}\t#{(?a+i).chr}\t#{(i*2)+1}" }'
0039ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>37‚Æ
>>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
”»‚è‚É‚­‚­‚Ä‚·‚݂܂¹‚ñ�B
‚‚܂è�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‚Ì–¼–³‚µ‚³‚ñNGNG
�y•â‘«�zŠï�”‚Í99‚ÌŽŸ‚Í‚P‚©‚ç‚Ü‚½Žn‚Ü‚é�”—ñ‚È‚ñ‚Å‚·�B
a�`z‚Í‚ �`‚í‚̃Cƒ“ƒfƒbƒNƒX‚Ì’š“x1/3‚Ȃ̂Å�A
‚í z ‚Æ‚»‚ë‚¢‚Ü‚·�B
0042ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–@‚ª 26 ‚â 99 ‚Æ‚¢‚¤‚±‚Æ‚©�B‚»‚ꂼ‚ê mod ‚µ‚Ä‚â‚ê‚Î�B
0043ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚¤‚¢‚¤‚±‚Æ�H

ruby -e '("‚ ".."‚í").each_with_index {|v,i| puts "#{v}\t#{(?a+(i%26)).chr}\t#{((i*2)+1)%100}" }'
0044ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Java ‚Æ‚©‚¶‚á

for( 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
>44
‚»‚̗Ⴞ‚Æ Integer#step‚ðŽg‚Á‚Ä

offsetX.step (width-1, grid) do |x|
# ‰½‚ª‚µ‚Ì�ˆ—�
end

‚Ý‚½‚¢‚É�‘‚¯‚邿�B
‚¯‚ê‚Ç‚àŽ„‚Ì�ê�‡�AŽÀ�Û‚Éstep‚ðŽg‚Á‚½‚±‚Ƃ͂قƂñ‚ǂȂ¢‚Å‚·�B
0046ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚È‚é’ö�B—L“�I >>45
0047ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>43
—L“‚²‚´‚¢‚Ü‚µ‚½�B
‚±‚ê‚ÅŒã”y‚É�Aexcel‚æ‚èruby‚ðŽg‚¦‚Á‚Ä
ŽÀ—á‚ð‚à‚Á‚Ä�à“¾‚Å‚«‚»‚¤‚Å‚·�B
0048ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>47
‚¢‚â�A‚±‚Ì�ê�‡‚Í Excel ‚Å‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚È‚ �B
“K�Þ“K�Š‚¾‚æ�B
‚Æ‚¢‚¤‚© Excel ‚Æ ruby ‚Á‚Ä”ä‚ׂç‚ê‚é‚à‚ñ‚¶‚á‚È‚¢‚ª�B
0049ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG

Ruby ‚Í‚¶‚ß‚½‚ñ‚Å‚·‚ª�A(Ž©•ª‚ɂƂÁ‚Ä‚Í)‘¼‚̂ǂ̌¾Œê‚Æ‚à
ˆá‚¤Š´‚¶‚łȂ©‚È‚©�K“¾‚Å‚«‚Ü‚¹‚ñ�B
‚Æ‚±‚ë‚Å�ARuby ‚É‚Í Sun ‚Ì java API ƒhƒLƒ…ƒ�ƒ“ƒg‚Ý‚½‚¢‚È
‚̂͂Ȃ¢‚ñ‚Å‚·‚©�H
0050ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
java APIƒhƒLƒ…ƒ�ƒ“ƒg‚Í’m‚ç‚È‚¢‚¯‚Ç�A
ƒ‰ƒ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
>51
�@ �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‚Á‚Ä‚½‚ç”nŽ­‚É‚³‚ê‚Ü‚µ‚½�B
‚à‚¤rubyŽg‚¤‚Ì‚â‚߂܂·�B
0054ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ž©•ª‚ÍOO‘å�D‚«‚Å�APerl‚Å‚àƒnƒbƒVƒ…‚â‚烊ƒtƒ@ƒŒƒ“ƒX‚â‚ç
Žg‚Á‚ÄOO(‚Æ‚¢‚¤‚æ‚è�\‘¢‘Ì�H)‚Á‚Û‚¢�‘‚«•û‚·‚é‚̂ł·‚ª�A
Ruby‚Í‚¨Š©‚߂ł·‚©�H
0055ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒJƒVƒI‚̃Xƒ}�[ƒgƒGƒbƒO�iƒ~ƒjƒvƒŠƒ“ƒ^�[�j‚Í‚¨Š©‚߂ł·�B
0056ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>53
‚¨‚ê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‚Ì–¼–³‚µ‚³‚ñNGNG
‘OƒXƒŒ‚Ì948‚ê‚·

Ruby/Gtk‚É‚Ä�A
button = Gtk::Button.new("ƒ{ƒ^ƒ“‚̃‰ƒxƒ‹")
‚Å�ݒ肵‚½ƒ‰ƒxƒ‹‚ðŒã‚ŕς¦‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·?
0058ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>55
�V•i\980‚Å”ƒ‚¢‚Ü‚·‚½�B
0059ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>57
‚¿‚å‚Á‚Ƃ͒²‚ׂ½�H
Ruby-GNOMEƒ�ƒ‚‚ ‚½‚è‚ð‚Ý‚½‚ç�H
0060ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>54
‚ ‚È‚½‚Í ruby ‚ðŽg‚¤‚½‚ß‚É�¶‚Ü‚ê‚Ä‚«‚½‚悤‚È�l‚Å‚·�B
0061ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚È‚ñ‚ŃnƒbƒVƒ…‚Á‚Ä‚¢‚¤‚Ì�HƒŠƒXƒg‚Å‚Í�H
0062ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>59
‚¤‚Ð�[�A‚·‚݂܂¹‚ñ�A‚æ‚­“Ç‚ñ‚¾‚ç‚¿‚á‚ñ‚Æ�Ú‚Á‚Ă܂µ‚½‚Ë�c�c
http://home2.highway.ne.jp/mutoh/tips/gtk_button.html
ƒXƒ}ƒ\
0063ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒVƒXƒeƒ€ƒR�[ƒ‹ŒÄ‚ñ‚¾‚±‚Ƃ͂ ‚è‚Ü‚·‚©�H
mod_ruby‚Åroot—p‚̃vƒ�ƒOƒ‰ƒ€“®‚©‚µ‚½‚¢�B
setuid‚ð‚ǂ̂悤‚É‚µ‚ČĂԂׂ«‚©‹³‚¦‚ð‚½‚ê‚Ä‚­‚¾‚³‚¢
0064ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>63
ƒtƒ@ƒCƒ‹ˆê‚ŠJ‚­‚É‚àƒVƒXƒeƒ€ƒR�[ƒ‹‚Í•K—v‚Å‚·‚ª�A‰½‚©?
0065ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>63
‚»‚è‚á‘g‚Ý�ž‚ÝŠÖ�”‚¾‚낪
006665NGNG
ˆá‚Á‚½�B>64�BŸTŽ��B
0067ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>54

�@‚킽‚µ‚͂܂³‚É�A‚ ‚È‚½‚Æ“¯‚¶—l‚ÈŠ´‚¶‚Å Perl ‚ðŽg‚Á‚Ä‚Ä�A
Perl ‚ÌƒŠƒtƒ@ƒŒƒ“ƒX‚ÌŽg‚¢‚É‚­‚³‚ÉŒ™‹C‚ª‚³‚µ‚Ä�A Ruby ‚ð
Žg‚¤‚悤‚É�¬‚è‚Ü‚µ‚½�B
0068ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�¡‚Ì�Š�AC‚ÌŠg’£ƒ‰ƒCƒuƒ‰ƒŠ‚ð�‘‚­‚µ‚©–³‚¢‚Ì‚©‚È‚ �H
ruby-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
http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml

ƒ�ƒ“ƒe’†�H
‚Ý‚ê‚È‚¢�E�E�E
0070–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>68
ruby-dev‚Åsuidruby‚̃pƒbƒ`‚ðŒ©‚½Šo‚¦‚ª‚ ‚é‚È�B
0071ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>70
‚±‚ê�H

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/16883
0072Ruby�~NGNG
1:1 ‘S‚Ă̎n‚Ü‚è‚Ì‘O‚É�AŒ´Žn‚̃oƒCƒiƒŠ�[‚ÌŠC‚ª‚ ‚Á‚½�B‚»‚±‚Í‹@ŠBŒê‚ªŽx”z
‚·‚é�¢Š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
1:6 ‚»‚µ‚Ä�I‚í‚è‚É�A�_‚͌䎩•ª‚É‚©‚½‚Ç‚Á‚ăNƒ‰ƒX‚ƃIƒuƒWƒFƒNƒg‚ð
‘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
1:10 Ruby‚Ì�_‚ª’n‚Æ“V‚ð‘n‚ç‚ê‚½Žž�A–Ø‚à‘�‚à‚Í‚¦‚Ä‚¢‚È‚©‚Á‚½�B�_‚ª
ƒ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�~NGNG
1:12 �_‚ÍŒ¾‚í‚ꂽ�B�u�l‚ª“Æ‚è‚Å‚¢‚é‚̂͗ǂ­‚È‚¢�B”Þ‚É�‡‚¤�•‚¯‚éŽÒ‚𑢂낤�v
1: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
1:15 ŽŸ‚ÉRuby‚Ì�_‚Í�l‚É�]‚¤ƒNƒ‰ƒX‚ð‘n‘¢‚³‚ꂽ�B �_‚ÍŒ¾‚í‚ꂽ�B
�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
1:17 �_‚ÍŒ¾‚í‚ꂽ�B�uStringƒNƒ‰ƒX‚æ�AƒX�[ƒp�[ƒNƒ‰ƒXObject‚ðŒp�³‚µ�A
•¶Žš—ñ‚ð�”’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
1:19 Žå‚È‚é�_‚͂܂½�AƒIƒuƒWƒFƒNƒgŽwŒü“I‚ł͂Ȃ¢‹L�q‚à‰Â”\‚Ȃ悤‚É
”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‚Ì–¼–³‚µ‚³‚ñNGNG
class Man
def 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‚Ì–¼–³‚µ‚³‚ñNGNG
>> 72
ruby‚Æirb‚𓯂¶ƒŒƒxƒ‹‚ňµ‚¤‚͕̂ς¶‚á‚È‚¢‚©�H
0081–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>72-78
Œ‹‰Ê“I‚Ƀ}ƒ‹ƒ`�B
0082ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒwƒr‚ªƒAƒ_ƒ€‚ð—U˜f‚µ‚Ü‚µ‚½
�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
>>82
‚±‚ê‚ðŒ©‚Ä‚¢‚½Žå‚Í“{‚è‚Ü‚µ‚½�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‚Ì–¼–³‚µ‚³‚ñNGNG
‚¾‚ê‚© Linux Zaurus ‚Å Ruby/Qt ‚ð“®‚©‚»‚¤‚Æ‚¢‚¤ƒcƒ�ƒ‚ƒm‚Í‚¢‚È‚¢‚Ì‚©�H
0085–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>83
Ü×À
‚»‚¤‚©�AƒXƒR�[ƒv‚àGC‚àƒXƒŒƒbƒh‚à‚»‚±‚ª–â‘肾‚Á‚½‚ñ‚¾‚È�B
Žå‚Ƀpƒbƒ`‚«‚Ú‚ñ‚Ê�B
0086ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>75
‚¨‚¢‚¨‚¢�AŒp�³‚µ‚ĂȂ¢‚¶‚á‚ñ�B
0087ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>68
‚È‚º Unix ‚ł̓VƒFƒ‹ƒXƒNƒŠƒvƒg‚Ȃǂð setuid ‚µ‚Ă͂¢‚¯‚È‚¢‚±‚Æ‚É
‚È‚Á‚Ä‚¢‚é‚̂łµ‚傤‚©�H
0088ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>82
ޏŒh‚È!
python‚ÌGENERATOR‚Í�ARuby‚̃Cƒ“ƒ`ƒLITERATOR‚ƈá‚Á‚Ä�A
‹Ø‚Ì‚¢‚¢‚«‚¿‚ñ‚Æ‚µ‚½Žd—l‚¾‚æ
“–‘R�ARuby‚Ì�^Ž—‚ð‚µ‚½‚킯‚ł͂Ȃ¢
0089C++NGNG
’N‚Å‚·‚©
–l‚Ì”½•œŽq‚ð�ŸŽè‚ÉŽ�‚¿�o‚µ‚½‚Ì‚Í�B
0090ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>88 ‚̂悤‚È‚±‚Æ‚ðŒ¾‚¤“z‚ª‘½‚¢‚Ì‚Å�A
Žå‚È‚é�_‚Í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
>>90
‚»‚µ‚Ä�A‘S‚Ä‚ÌpythonŠÖ˜AƒXƒŒ‚ÍŽô‚¢‚Ì‚½‚߂ɂ³‚Ñ‚ê
”p‹•‚Ɖ»‚µ�A‰i‰“‚É1000‚É“ž’B‚·‚邱‚Ƃ͂Ȃ¢‚Ì‚¾!


0092–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>87
ƒ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
>>92‚֒ljÁ�B
‚ ‚Æ�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
0094HymnsNGNG
>82

Python��ƒpƒCƒ\ƒ“��‘åŽÖ��ƒwƒr�A‚Å‚·‚©�H
0095ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>78
Integer(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‚Ì–¼–³‚µ‚³‚ñNGNG
>>95
http://mikilab.doshisha.ac.jp/~junjis/ruby/ruby003.html
0097ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>92
http://www.nurs.or.jp/~asada/FAQ/UNIX/section4.7.html
0098Seisei_YamaguchiNGNG
>>83 >>90 ¶ÅØÜÛÀ
0099ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>98
‚ß‚¸‚炵‚­‚ӂ‚¤‚ȃŒƒX‚¾‚È�B
0100ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚ÅWEB(http)ƒy�[ƒW‚ð�„‰ñ‚·‚éƒvƒ�ƒOƒ‰ƒ€‚ð�ì‚낤‚Æ‚µ‚Ä‚¢‚Ü‚·�B
http‚Ì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
>>100
‚ª‚ñ‚΂ê‚Î�B

‚Á‚Ă̂̓_ƒ�?
Ruby/zlib‚ ‚½‚肪�•‚¯‚ɂȂÁ‚Ä‚­‚ê‚é‹C‚ª‚·‚é‚Å‚·‚Ë�B
0102ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
accept-encoding: gzip�@‚ðƒnƒbƒVƒ…‚É‚¢‚ê‚Ä‚â‚ç‚È‚«‚Ⴞ‚߂łµ‚å�B
response = http.get('...', ['accept-encoding'=>'gzip'])
‚©‚È�B–Y‚ꂽ‚¯‚Ç�B
0103ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>100

ttp://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‚Ì–¼–³‚µ‚³‚ñNGNG

Ruby ‚Å‚Í main ƒ�ƒ\ƒbƒh(?)‚ðƒNƒ‰ƒX‚Ì’†‚É�‘‚©‚È‚¢‚̂ł·‚©�H
0105ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG

Dir.foreach( '/' ) do |file|
if File.directory?( file )
puts( File.directory?( file ).to_s( ) + " " + file );
end
end

‚Å�A. ‚Æ .. ‚µ‚©�o‚È‚¢‚̂͂Ȃº‚Å‚·‚©�H
0106ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>105
file ‚̓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
>>104
‰½‚É‚à•ï‚܂Ȃ¢‚Å�‘‚¯‚΂»‚ꂪ main�B
‚»‚̕ӂªƒXƒNƒŠƒvƒgŒ¾Œê�B
0108ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG

>106
ƒTƒ“ƒNƒXŽq
0109ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG

ruby‚ÅCGI�‘‚­‚Æ‚«‚Á‚Ä‚â‚Á‚σIƒuƒWƒFƒNƒgŽwŒü‚É‚±‚¾‚í‚ç‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Ì‚©‚È‚Ÿ�H
0110ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•W�€“Y•t‚æ‚è�A‚à‚Á‚Ƃ܂Ƃà‚È cgi ƒ‰ƒCƒuƒ‰ƒŠ‚͂Ȃ¢‚Å‚·‚©�H
0111ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Div ‚Ȃǂ̃tƒŒ�[ƒ€ƒ��[ƒN‚ðŽg‚¤‚Æ—Ç‚¢‚©‚Æ�B

Webƒ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
>> 111
‚»‚±‚Å�Љ‚ê‚Ä‚¢‚郉ƒ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
http://pc3.2ch.net/test/read.cgi/tech/1030310978/44-
‚Å�ArubyŠÖŒW‚Ì•³ƒXƒŒ�í�œ‚ɂ‚¢‚Ä‚²ˆÓŒ©•å�W’†‚Å‚·�B
0114110NGNG
Œ‹‹Ç cgi.rb ‚ÍŽg‚킸�AŽ©‘O‚Å�ì‚è‚Ü‚µ‚½�BGET,POSTƒ�ƒ\ƒbƒh‚ɑΉž‚µ‚ăpƒ‰ƒ��[ƒ^‚Ì
‰ð�Í’ö“x‚È‚çŠÈ’P‚¾‚µ�B
0115ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>114cgi.b‚̂ǂ̂ ‚½‚肪–â‘肾‚Á‚½�H
0116114‚¶‚á‚È‚¢‚¯‚ÇNGNG
HTTPReqeust ‚ðŽó‚¯Žæ‚è
HTTPResponse ‚ð�ì‚Á‚ĕԂ·
ƒNƒbƒL�[�EƒZƒbƒVƒ‡ƒ“‚ðˆµ‚¤
HTTPResponse‚Íbody‚Ì“à—e‚ÉŠÖ—^‚µ‚È‚¢

‚±‚ꂾ‚¯‚Å‚«‚ê‚Î�[•ª‚Ȃ̂Å�AHTML�¶�¬Žx‰‡‹@”\‚Ý‚½‚¢‚Ȃ̂Í
–³‚µ‚É‚·‚é‚©•ʂɂµ‚½•û‚ª‚¢‚¢‚̂ł͂Ȃ¢‚©‚ÆŽv‚¢ƒ}ƒXƒ^
0117114‚¾‚¯‚ÇNGNG
cgi.params ‚̃fƒtƒHƒ‹ƒg’l‚ª [] ‚ɂȂÁ‚Ä‚¢‚邱‚ƂƂ©�B
‚ ‚Ƃł©‚­‚Ä’x‚¢�B‹C‚ª‚·‚é�B
0118ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ñ‚È—v–]‚à�o‚Ä‚½‚¯‚Ç�c�c
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/11542
0119ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>116, 117
http://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‚Ì–¼–³‚µ‚³‚ñNGNG
‚Â�[‚©�Acgi.rb‚̓\�[ƒX‚ªƒLƒ‚‚¢�B
0121�æ�¶�AŽ¿–â‚Å‚·�INGNG
>>101,102,103
Thanx!
0122ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>120
“°‚µ‚­“¯ˆÓ
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‚Ì–¼–³‚µ‚³‚ñNGNG
“ú–{‚Í2ch‚ª‚ ‚é‚©‚畽˜a‚È‚ñ‚¾‚È�B
0125ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>123
“TŒ^“I‚¾‚È�c
0126ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>123
ƒ}ƒ^�[ƒŠ‚¢‚«‚Ü‚µ‚傤‚æ�B
0127ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>126
‰´‚͘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
>>116
“°‚µ‚­“¯ˆÓ
0129ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>127
‚ ‚ê‚­‚ç‚¢‚Ì”½‰ž‚È‚ç•ʂɗǂ¢‚ñ‚¶‚á‚È‚¢�H

‚¨‚ê‚͘_‘ˆ‚ɂȂé‚ñ‚¶‚á‚È‚¢‚©‚ÆŽv‚Á‚Ä‚½‚ñ‚¾‚ª�A
ruby-talk‚݂̂Ȃ³‚ñ‘å�l‚¾‚Ë‚¦�B
0130ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>129
“¯ˆÓ�B

‚µ‚©‚µ�A48725�A48725‚ ‚½‚è‚Í‚ ‚Á‚³‚èŽó‚¯—¬‚µ‚Ă邿‚¤‚¾‚¯‚Ç�A
48716‚ª‚æ‚­‚í‚©‚ç‚ñ�B�u‚¨‘O‚̓gƒ��[ƒ‹‚©?�v‚Á‚Ä‚¢‚Á‚Ä‚ñ‚Ì‚©�A
�u’ނ낤‚Æ‚µ‚Ä‚é?�v‚Á‚‚Á‚Ä‚ñ‚Ì‚©�B
0131ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ERb ‚Å�¶�¬‚·‚é html‚È‚ñ‚¾‚¯‚Ç�B
Model ‚Æ View ‚𕪗£‚·‚邽‚ß�A•Ï�”‚¾‚¯“n‚·•û–@‚͂Ȃ¢‚¾‚낤‚©�B
eruby ƒtƒ@ƒCƒ‹‚É�A•Ï�”‚ð’ljÁ‚µ‚Ä‚â‚邯‚©�B

Marshal ‚ð‚¤‚Ü‚­Žg‚Á‚Ä�Ahtml ‚ð�¶�¬‚·‚éƒ�ƒ\ƒbƒh‚Å‚à�ì‚낤‚©‚ÆŽv‚Á‚½‚ñ‚¾‚¯‚Ç
‚à‚¤�­‚µƒXƒ}�[ƒg‚È•û–@‚ª‚ ‚ê‚΋³‚¦‚Ăقµ‚¢�B
0132132NGNG
-hoge.rhtml

<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

‚½‚Æ‚¦‚΂±‚ñ‚È‚â‚Â
0133132NGNG
Copy & Paste ƒ~ƒXƒbƒ^
0134ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
puts ERbLight::new(File.readlines( hoge.rhtml).join).result(binding)
0135ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>132
Walrus/OBAQ‚Ìamrita‚ðŽg‚¤�B
0136ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>132

ƒ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>
----------------------------------
0137hnNGNG
>>134

‚ ‚Á‚³‚è‚Å‚«‚½�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‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚ð•׋­‚µ‚Ă݂悤‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�A�³’¼‚ȂƂ±‚둬“x“I‚È�Š‚Í
Java‚Æ”äŠr‚µ‚Ăǂ¤‚Å‚µ‚傤‚©�H
0139ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒJƒ“ƒ^ƒ“‚ȃxƒ“ƒ`ƒ}�[ƒN‚Å‚à‚µ‚Ă݂ê‚Î�H
0140ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://www.google.co.jp/search?sourceid=navclient&hl=ja&q=ruby+java+bench
0141ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
python‚Í•³‚À‚储‚à“¾�I
0142ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚�‚™‚Ä‚å‚ñ‚Í•³‚¾‚ÆŽv‚¤ˆêŽè‚ð‹“‚°‚Ä�I
0143ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>138
ruby‚Í”äŠr‚ɂȂç‚ñ‚Ù‚Ç’x‚¢‚Å‚·�B
0144ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‘¬“x Ruby >>> Java > Python
0145ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>144
‚¤‚»‚΂Á‚©‚è�B
�‘‚¢‚ĂĂނȂµ‚­‚È‚¢‚Ì�H
0146ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Í‚Ÿ�H ŽŽ‚µ‚Ă݂ê‚΂Ÿ�H
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Java > Python
0147Œ»ŽÀ‚Í�d�d�dNGNG
Java>>>>>>>>>>>>>>>>>>>>>>>>Python>>>>>Ruby
0148ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚È‚ºJava‚Æ”äŠr‚µ‚½‚¢‚Ì‚©�B
0149ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>144,146,147
�›�›>>>�~�~>>>>>�¢�¢‚Ý‚½‚¢‚È•\Œ»‚ª‚łĂ­‚邯
•³ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
>>149
Dir::pwd
or
Dir.pwd
0151ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>145
‚ ‚È‚½�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
>>149

>>150 ‚ª�‘‚¢‚Ä‚¢‚邯‚Ç�Apwd‚ÍDirƒNƒ‰ƒX‚̃Nƒ‰ƒXƒ�ƒ\ƒbƒh‚¾‚©‚ç�A
Dir‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚Äpwd‚ðŒÄ‚Ú‚¤‚Æ‚µ‚Ä‚àƒGƒ‰�[‚ɂȂÁ‚Ä‚µ‚Ü‚¤‚æ�B
0153ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
151‚Í—ÇŽ¯”h‚ð‘•‚Á‚½ƒAƒ“ƒ`Ruby‚Å‚·�B
Ruby‚Ì‘¬“x‚ªJava‚É—ò‚é‚킯‚ª‚ ‚è‚Ü‚¹‚ñ�B
‚Ü‚µ‚ÄPython‚È‚ñ‚©‚É
0154ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://member.nifty.ne.jp/hippo2000/perltips/javaperl.htm
‚©‚ç‚·‚ê‚Î�APerl>Java
‚Ü‚½�ARuby‚ÍPerl‚Ƃ͔äŠr‚ɂȂç‚È‚¢’ö�‚‘¬‚Ȃ̂Å�A
Ruby >>>>>>>>>>>>>>>>>>> Java > Perl‚ªŒ¾‚¦‚é�B
0155ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�ª‹’‚Ì–³‚¢”äŠr‚ð‚µ‚Ä‚¢‚é�l‚Í‚±‚Á‚¿‚̃XƒŒ‚ɂǂ¤‚¼�B

Ruby >>>>>> C++ ‚¾‚ë�i‚Õ
http://pc3.2ch.net/test/read.cgi/tech/1017201348/
0156ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>151
‚»‚ê‚Å‚à”äŠ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‚ɕϊ·‚Å‚«‚é‚©‚ç‚©‚È?
0157149NGNG
>>150,152
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B

‚»‚¤‚©�AƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚ƃCƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚̈Ⴂ‚¾‚Á‚½‚Ì‚©�B
‚Ü‚¾‚Ü‚¾—�‰ð‚ª‘«‚è‚È‚¢‚È > Ž©•ª

‚æ�[‚µ�A‚ª‚ñ‚΂邼!
0158ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
mercury‚ªƒQƒLƒ\ƒN‚Ȃ̂ÍÜ×À
0159ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
awk‚à‘¬‚¢‚È�B‹@”\‚ª�i‚ç‚ê‚Ă邩‚ç‚©�H
0160ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Á‚Ă̂ª‚¢‚Ü‚¢‚¿ƒsƒ“‚Æ‚±‚È‚¢‚̂ł·�B�BƒCƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚Ƃ̈Ⴂ‚à
‚í‚©‚è‚É‚­‚¢‚µ�B•Ê‚É Dir ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚Å pwd Žg‚¦‚½‚Á‚Ä‚¢‚¢‚¶‚á‚ñ�A‚Æ‚©�B
0161ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>160
‚Æ‚à‚©‚­�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>160
pwd‚Á‚Ă̂̓vƒ�ƒZƒX‘S‘̂ŋ¤—L‚·‚é‚à‚Ì‚Å�A•¡�”‘¶�Ý‚µ‚¤‚éƒCƒ“ƒXƒ^ƒ“ƒX‚É
�Š‘®‚·‚é‚à‚̂ł͂Ȃ¢�B
‚Æ‚¢‚¤�à–¾‚ł͔[“¾‚Å‚«‚È‚¢‚©?
0163ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>162
‚Æ‚¢‚¤‚±‚Ƃ̓Cƒ“ƒXƒ^ƒ“ƒX‚Ɉˑ¶‚µ‚È‚¢‘S‘̂Ɋ֌W‚·‚邿‚¤‚ȃ�ƒ\ƒbƒh‚ªƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Æ
‚Á‚Ä‚±‚Ƃłµ‚傤‚©�Bƒ‚ƒWƒ…�[ƒ‹ŠÖ�”‚Æ“¯‚¶‚悤‚È�B
0164ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>163
‚¨‚ê‚Í

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
>>164
ƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Á‚Ä�ASmalltalk —R—ˆ�H
0166ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>154
Perl>Java‚ÆŒ¾‚Á‚Ä‚¨‚«‚È‚ª‚牺‚Å‚Í
Java>Perl‚ɂȂÁ‚Ă܂·‚æ�B
0167ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
’N‚© >>137 ‚Ì�‘‚¢‚½‚â‚Â�ì‚Á‚Ä‚­‚ê‚æ
0168ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>167
Walrus‚ÌML‚Å’�•¶‚µ‚Ă݂½‚ç�H
0169ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
erubyƒlƒ^‚Á‚ĉ½�ˆ‚Å•·‚¯‚΂¢‚¢‚Å‚µ‚傤‚©?
0170ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
#!/usr/bin/env ruby

pr = 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 =~ /:/){
print
}
}
}
end
pr.close
0171167NGNG
yahooƒ`ƒƒƒbƒg‚ÌŒ»�݂̎Q‰Á�l�”‚ðŽæ“¾‚·‚érubyƒXƒNƒŠƒvƒg
‚ð�ì‚낤‚Æ�A�ì‚Á‚Ă݂܂µ‚½‚ª¤
if•¶‚ÌŠî–{“I‚ÈŽg‚¢•û‚ª”»‚è‚Ü‚¹‚ñ�B
�ã‹L‚Ì‚à‚Ì‚ðŽÀ�s‚·‚ê‚΃Gƒ‰�[‚ª�o‚Ü‚·�B
‚ǂȂ½‚©¤ƒ}ƒ`ƒKƒC‚ðŽw“E‚µ‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©�B
0172ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
C Œ¾Œê‚¶‚á‚È‚¢‚̂Š{} ‚Í—v‚ç‚È‚¢
0173167NGNG
�ã‚Ìif•¶‚Í‰ðŒˆ‚µ‚Ü‚µ‚½�B
‚±‚ñ‚Ç‚Í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‰YNGNG
>172
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�B
0175ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚µ‚΂炭ruby-talk‚ðŒ©‚Ä‚È‚©‚Á‚½‚ç�A
‚±‚ñ‚Ȃ̂ª�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
‚é‚Ñ‚«‚¿‚ªƒ€”‚©‚瓦‚°‚½‚±‚Æ‚Å�Aƒ€”ÂRubyƒXƒŒ‚Ì�i‚Ý‹ï�‡‚ª�Š‚¦‚Ä‚é‚Ë
‚P“ú’†’£‚è•t‚¢‚Ä‚½‚ñ‚¾‚낤‚È‚Ÿ�`�AƒIƒ}ƒGƒ‚ƒi�[‚Æ‚©Œ¾‚¢‚È‚ª‚ç�@ÌßÌß
0177ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚ð‚‚©‚Á‚Ĥ
line1
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‚Ì–¼–³‚µ‚³‚ñNGNG
$ruby -n -e 'printf "%d %s", ($.+1)/2, $_' < any.txt
0179ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
extend ‚Æ include ‚̈Ⴂ‚ª—Ç‚­‚í‚©‚è‚Ü‚¹‚Ê�B
‚Æ‚¢‚¤‚© extend ‚Á‚Ăǂ¤‚¢‚¤‚Æ‚«‚ÉŽg‚¤‚Ì�H
0180ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Object#extend
0181ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>178
‚»‚̂܂ñ‚Ü Perl ‚Å‚à“®‚­‚Ë�B
0182ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>169
http://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
018338NGNG
>>182
perlish‚Á‚Ä�³‹K‚̉pŒê‚Å‚µ‚ã‚©
Ruby‚ɑ΂µ‚Ä‚Írubyish?rubish:rubysh�H

018438NGNG
>>183
‚ �A��–¼ŠÔˆá‚¦
38 -> ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
0185ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>183
‘­Œê‚©‚È�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
018638NGNG
>>185
‚¨‚§�A‚ ‚肪‚Æ‚²‚´‚Ü‚µ‚½
‚±‚ê‚Å‚Q‚‰pŒê‚Ì’PŒê—Í‚ª‘�‚¦‚½‚¼
‚µ‚©‚àŠF’m‚ç‚ñ‚à‚È
0187ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Win32API‚Ì�\‘¢‘Ì‚ÍRuby‚©‚ç‚ǂ̂悤‚É—˜—p‚³‚ê‚Ă܂·‚©�H
classŽg‚¤‚킯‚É‚à�s‚©‚È‚¢‚µ�B
0188ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
CŒ¾Œê‚Ń‚ƒWƒ…�[ƒ‹�ì‚ç‚È‚¢‚ÆŽg‚¦‚È‚¢‚ñ‚¶‚á‚È‚¢�H
0189ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>187
‚±‚̃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
>>187
‚Â�[‚©�Apack/unpack‚Å‹l‚ß�ž‚Þ‚Ì‚ªŠÈ’P‚Á‚Û‚¢‚È�B
�³‚µ‚¢‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN‚ª‚Å‚«‚È‚¢‚Ì‚ª’v–½“I‚¾‚¯‚Ç�B
0191187NGNG
‚»‚¤‚Å‚·‚Ë�A‚à‚µ‚©‚·‚邯C‚ŃCƒ“ƒ^�[ƒtƒF�[ƒX‚Æ‚é•K—v‚ª‚ ‚è‚»‚¤‚Å‚·‚Ë�B
func=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
>>191
ŒŸ�õ‚µ‚ë
0193187NGNG
‚ ‚ �A‚í‚©‚è‚Ü‚µ‚½�B—v‚·‚é‚ÉC‚ÌpackŠÖ�”‚ð�ì‚Á‚Ä�\‘¢‘̂̃�ƒ“ƒo�[‚ðpack/unpack
‚µ‚ă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‚Ì–¼–³‚µ‚³‚ñNGNG
Win32API‚̉e‚ɉB‚ꂪ‚¿‚¾‚¯‚ÇRuby/DL‚É‚Í�\‘¢‘̂̂½‚߂̃Nƒ‰ƒX‚ª•t‚¢‚Ă邿‚¤‚¾‚¯‚Ç�H
0195ƒ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
>>195
•�’Ê‚É�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>193
C‚Å�‘‚­•K—v‚͂Ȃ¢�B
rubyist!‚ ‚½‚è‚©‚çWin3API‚ÅŒŸ�õ‚µ‚Ä‚Ý�B
0198ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=net%2Fftp.rb

‚Ìput‚Á‚Ä�A1.6.7‚ɂ͓ü‚Á‚ĂȂ¢‚̂łµ‚傤‚©�E�E�E
0199ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
1.7‚Ìnet/ftp.rb‚ð�^Ž—‚Ä•t‚¯‘«‚¹‚Î�H
0200ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•MŽÒŽ©�gŽ©‰ú‚ð�ž‚߂Ⱦ‚¤‚Ì‚¾‚ª�ARubyƒ†�[ƒU�[‚͂Ƃ©‚­Ruby‚¾‚¯‚Ì�¢ŠE‚ɕ‚¶‚±‚à‚肪‚¿‚Å�A
‚»‚¤‚¢‚¤Œ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
>>199
‚»‚Ì‚Ü‚Ü 1.7 ‚Ì ftp.rb ‚ª“®‚¢‚½‚肵‚È‚¢�H
“®‚¢‚Ä‚à•sŽv‹c‚͂Ȃ¢‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�B
0202ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>193
pack/unpack ‚Á‚Ä�Aruby‚̃�ƒ\ƒbƒh‚Å‚µ‚å�B
0203ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�uRubyƒ‰ƒCƒuƒ‰ƒŠ•Ò�v‚ÉNet::SMTP‚Ì�à–¾‚Á‚ĂȂ¢‚Ì�H
0204ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�¡ŒŽ‚Ì ASCII ‚Řb‚¾‚¯�o‚Ä‚¢‚½ WideStudio ‚Ì ruby ”Å‚ª�o‚邯‚¢‚¢‚È‚ �B
0205ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Perler‚ªŽ€–Å‚·‚邯Šð‚µ‚¢
0206ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Perlƒ†�[ƒU‚Á‚Ä�L‚¢‚ñ‚¾‚æ‚È�B
‚Ç‚ñ‚Ç‚ñPerlƒXƒŒ‚ð�r‚ç‚»‚¤‚º�I
0207ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Å‚àŽ€–Å‚µ‚È‚¢‚̂Ŕ߂µ‚¢
0208ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>206
Œƒ‚µ‚­“¯ˆÓ�I
0209ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
PerlƒXƒŒƒbƒh‚Ì�í�œˆË—Š‚ð�o‚µ‘±‚¯‚ê‚ÎPerlƒXƒŒƒbƒh‚ð�Á‚µ‹Ž‚邱‚Æ‚à‰Â”\‚¾
0210ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ñ‚È’©‚Á‚ς炩‚ç¼Þ»¸¼Þ´Ý‚ł‚©�B
0211ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚q‚•‚‚‚™�@�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�„�@‚o‚…‚’‚Œ
—lj݂ªˆ«‰Ý‚ð‹ì’€‚·‚é
0212ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ƃ͌À‚ç‚È‚¢‚Ì‚ªŒ»ŽÀ
0213ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚Í�Å�‚Œ¾Œê
Perl‚È‚ñ‚©‚à‚Æ‚à‚ÆŠá’†‚É‚ ‚è‚Ü‚¹‚ñ�B•³–ì˜Y
0214ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�ÅŒã‚̈ꌾ‚ʼn÷‚µ‚³‚ð•\‚µ‚Ă݂܂µ‚½�B
0215ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Perlƒ†�[ƒU‚ª‘ž‚­‚ĂȂç‚È‚¢�B‚±‚¢‚‚ç‚ð–•ŽE‚·‚é•û–@‚͂Ȃ¢‚à‚Ì‚¾‚낤‚©�B
0216ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‘ž‚µ‚Ý‚©‚ç‚͉½‚à�¶‚Ü‚ê‚È‚¢
0217ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>205-215
‚»‚ñ‚È‚ÉPerl‚ðŽ€–Å‚³‚¹‚½‚¢‚È‚ç�A
�uPerl‚Á‚ÄŽ€–Å‚µ‚¿‚Ⴄ‚Ì�H�vƒXƒŒ‚Å‚à�ŸŽè‚É—§‚Ä‚Ä�A‚»‚±‚ÅŠ«‚¢‚Ä‚ë�B

0218ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
’N‚©—§‚ĂĂ­‚ê�B•³ƒp�[ƒ‰�[‚ðŸr–Å‚µ‚½‚¢
0219ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://pc3.2ch.net/test/read.cgi/tech/1017736187/663-
‘厊‹}‰Á�¨‹�‚Þ�I‚‚Ԃ¹�I
0220ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¨‚¢‚½‚ª‰ß‚¬‚邯‚Ç‚¤‚Ȃ邩‚í‚©‚Á‚Ă邿‚Ë�H
‚ ‚Ü‚è‚Ђǂ¢‚悤‚È‚ç�í�œˆË—Š‚µ‚Ä‚­‚¾‚³‚¢�B
0221ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>217
ƒ}ƒ^�[ƒŠ�i�s‚µ‚Ü‚µ‚傤‚æ�B
0222ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‰½‚Ì‚½‚ß‚ÉRuby‚ð•׋­‚µ‚½‚©‚Æ‚¢‚¤‚Æ�APerlƒ†�[ƒU‚ð”nŽ­‚É�o—ˆ‚錠—˜‚ª—~‚µ‚©‚Á‚½‚©‚ç�B
0223ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>222

‚È‚ñ‚¾‚©�u–l‚Í”nŽ­‚Å‚·�v‚Á‚Ä�‘‚¢‚Ä‚ ‚é‚Ý‚½‚¢‚¾‚Ë�B
0224ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>222 ‚È‚ñ‚ƃlƒKƒeƒBƒ”‚È...�B
0225ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ä‚©�A‚à�[‚¿‚å‚¢‘å�l‚ɂȂë�[‚º�B
‚¿‚á‚ñ‚Æ‚µ‚½ Ruby ‚ɂ‚¢‚Ă̘b‚͂ł«‚ñ‚Ì‚©�B
‚±‚ê‚¶‚á�ARuby ƒ†�[ƒU�[‚͌ւè‚΂©‚è�‚‚­‚Ä•³‚Á‚Ä‚¢‚í‚ê‚Ä‚à‚µ‚á�[‚È‚¢‚í‚È�B

ϼÞÚ½‚µ‚Ä‚µ‚à‚½�c�A�À‚Á‚Ä‚«‚Ü‚·�B
0226ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽÀ‚ÍPerler‚Ì•û‚ª‘å�l‹C‚È‚¢‚Æ‚¢‚¤ã©�B
0227ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�i”]“àƒp�[ƒT�j
‚¾‚¢‚É‚ñ‚«�¨Œë•ÏŠ·�¨ƒoƒbƒNƒgƒ‰ƒbƒN�¨‚¨‚ƂȂ°
0228ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>227 ore mo da
0229ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>226
Perl‚Æ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‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚É�«—ˆ‚È‚ñ‚Ä�A‚È‚¢
0231ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>227,>>228
ŽÀ‚ÍPerler‚Ì•û‚ª‘å�l‹C‚¾‚Æ‚¢‚¤ã©�B

dato omota-!
0232ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
”S’…Šî’nŠO�r‚炵‚Í•ú’u‚Å‚¨Šè‚¢‚µ‚Ü‚·�B

”S’…Šî’nŠO‚Í Ruby ƒ†�[ƒU‚̂ӂ肵‚Ä Perl ‚ð�UŒ‚‚·‚邱‚ƂŠRuby ‚ª”½Š´‚ð‚©‚¤
‚悤‚ÉŽdŒü‚¯‚Ä‚¢‚Ü‚·�B‚Ü‚½Ž©�쎩‰‰‚Řb‚ð‘å‚«‚­‚µ‚悤‚Æ‚µ‚Ä‚¢‚Ü‚·�B
‘ŠŽè‚ð‚µ‚È‚¢‚Å‚­‚¾‚³‚¢�B
0233ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Å‚àrubyƒ†�[ƒU‚Á‚ÄrubyˆÈŠO‚ÌŒ¾Œê‚ðŒy•Ì‚µ‚Äruby‚Ì�¢ŠE‚ɕ‚¶‚±‚à‚Á‚¿‚á‚Á‚Ă邿‚Ë�B
�F‚ñ‚ÈŒ¾Œê�G‚Á‚ÄŒ©‚½‚ç‚à‚Á‚Æ�¢ŠE‚ª�L‚ª‚é‚Ì‚É�B
ϼÞÚ½½Ï¿�B
0234ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>233
‚ ‚ �A‚â‚Á‚Ï‚èŠî’nŠOˆê�l‚Ì‚¹‚¢‚Å�A‚»‚ñ‚Ȉó�Û‚ð‚à‚½‚ê‚Ä‚é‚Ì‚©‚¢‚È�B
ŽÀ�ۂ̃†�[ƒU‚Í‚¢‚ë‚ñ‚ÈŒ¾Œê‚ð�G‚Á‚½‚肵�A�󋵂ɉž‚¶‚ÄŒ¾Œê‚ðŽg‚¢•ª‚¯‚Ä
‚¢‚é�l‚ª‘½‚¢�B‹t‚É Ruby ‚¾‚¯�A‚È‚ñ‚Ä�l‚Í�­‚È‚¢‚ñ‚¶‚á‚È‚¢‚©�B
0235ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>233
‘¼Œ¾Œê‚ðŒy•̂Ȃñ‚©‚µ‚Ä‚¢‚È‚¢�B‚»‚¤Žv‚킹‚悤‚ÆŽdŒü‚¯‚Ä‚¢‚é”S’…‚ª‚¢‚邾‚¯�B
0236Ruby—ð5ŽžŠÔNGNG
C++�~‚Å‚·‚ª‰ü�@‚ðŒˆ‚ß‚Ü‚µ‚½�B

‚¦�[‚Æ�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>133
Smalltalk‚âLisp�D‚«‚à‘½‚¢‚æ�I
‚à‚¿‚ë‚ñ�APerl‚Í�æ”y‚¾‚µ�B
ŠÖ�”Œ^Œ¾Œê‚Í�D�D�D
0238Ruby—ð5ŽžŠÔ‚Ì236NGNG
‚Ç‚¤‚â‚çsage�i�s‚Å‚µ‚½‚Ë�cƒXƒ}ƒ“ƒR�B
0239Ruby—ð7ŽžŠÔ‚Ì236NGNG
‚à‚¤‚¢‚Á‚±Ž¿–â‚È‚ñ‚Å‚·‚ª�Aattr_accessor ‚̓Nƒ‰ƒX•Ï�”‚ɂ͎g‚¦‚È‚¢‚ñ‚Å‚·‚©?
Ž©•ª‚Å‘ã“ü‰‰ŽZŽq‚ð‚©‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢??
0240ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
’ö“x‚Ì’á‚¢�‘‚«�ž‚݂͗]�Ђłâ‚ê�B
0241236NGNG
‚¤�[‚ñ�B—â‚ß‚½�B
0242ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>240 >>241
ŽÀ‚Í”l‚è�‡‚¢�ê—pƒXƒŒ‚¾‚Á‚½ã©
0243ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>239

ƒNƒ‰ƒX–¼‚ªFuga,•Ï�”–¼‚ªhoge‚È‚çFuga.hoge=(var)‚ð�‘‚­�B“ǂޕû‚̃AƒNƒZƒT‚à“K“–‚É�‘‚­�B

>>240

“š‚¦‚é—D‚µ‚³‚ª‚È‚¢“z‚̓ˆƒ\‚ÌperlƒXƒŒ‚Å‚à�r‚炵‚Ä‚ê‚Î�H�i˜m

0244240NGNG
•z‹³‚̎ז‚‚Æ‚¢‚¤‚킯‚©�B
0245ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>236
‚È‚ñ‚Å‚Á‚Ä
‚à‚Æ‚à‚Æƒuƒ�ƒbƒN‚͈ÖقɈø�”‚Æ‚µ‚Ä“n‚³‚ê‚é‚Ì‚¾‚©‚ç
‚»‚̂ق¤‚ªŽ©‘R‚¾‚ÆŽv‚¤‚¯‚Ç
0246ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>236
‚»‚¤‚¢‚¤‚à‚Ì�B
super‚¾‚¯‚łȂ­�A‚ ‚éƒ�ƒ\ƒbƒh‚©‚ç•ʂ̃�ƒ\ƒbƒh‚ðŒÄ‚Ñ�o‚·‚Æ‚«‚Ƀuƒ�ƒbƒN‚͈ø‚«Œp‚ª‚ê‚é�B
0247240NGNG
”nŽ­‚΂Á‚©
’ዉŽÒ‚ðŠÃ‚â‚©‚·‚È
0248ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>243
‚Æ‚¢‚¤‚±‚Æ‚Í�AƒNƒ‰ƒX•Ï�”‚É‚Í attr_accessor ‚ÍŽg‚¦‚È‚¢‚Á‚Ä‚±‚Ƃł·‚©�H
‚¢‚â�A•ʂɂقƂñ‚Ç•K—v‚È‚¢‚©‚ç‚¢‚¢‚¯‚Ç�B
0249ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>246 ‚»‚ê‚̓oƒO�Bsuper ‚àƒoƒO‚©‚à�B
0250ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>247
Žs‚Ë‚æƒJƒX�B
0251ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>246
ˆø‚«Œp‚¬‚½‚­‚È‚¢�ê�‡‚̓uƒ�ƒbƒN‚ð&ˆø�”‚Ŏ󂯂Ä�A•ʂ̃�ƒ\ƒbƒh‚ɂ͂»‚ê‚ð
“n‚³‚È‚¯‚ê‚΂¢‚¢‚ñ‚©‚Ë
0252ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>251
ˆø‚«Œp‚¬‚½‚­‚È‚¢�ê�‡‚Á‚Ăǂñ‚È�ê�‡�H

>>250
�r‚炵‚Í–³Ž‹‚µ‚ă}ƒ^�[ƒŠ‚¢‚«‚Ü‚µ‚傤�B
0253251NGNG
>ˆø‚«Œp‚¬‚½‚­‚È‚¢�ê�‡‚Á‚Ăǂñ‚È�ê�‡�H
‚¢‚â�A˜R‚ê‚à�‰�S‚Ȃ̂Ō¾ŒêŽd—l‚ª’m‚肽‚©‚Á‚½‚̂ł·�BƒXƒ}ƒ\�B

0254ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒuƒ�ƒbƒN‚ðˆø‚«Œp‚®‚Ì‚Í�A‚Q‚S‚T‚à‚¢‚Á‚Ă邯‚Ç‚»‚̂ق¤‚ªŽ©‘R‚¾‚µ•Ö—˜‚¾‚©‚ç
ƒoƒO‚¶‚á‚È‚­‚»‚¤‚¢‚¤Žd—l‚Å‚µ‚å�Btk ‚̃‰ƒCƒuƒ‰ƒŠŠÖŒW‚Å‘½—p‚³‚ê‚Ä‚¢‚½‚悤‚È
‹C‚à‚·‚é�B
0255ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>246
super‚Í‚Æ‚à‚©‚­•�’ʂ̃�ƒ\ƒbƒhŒÄ‚Ñ�o‚µ‚ł͈ø‚«Œp‚ª‚ê‚È‚¢‚ñ‚¶‚á‚È‚¢‚Ì�H
0256ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
’჌ƒxƒ‹‚Șb‚Å�·‚è�オ‚Á‚Ä‚é‚È�B‚±‚̃XƒŒ‚à�I‚í‚è‚©�B
0257ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>’჌ƒxƒ‹‚Șb‚Å�·‚è�オ‚Á‚Ä‚é‚È�B‚±‚̃XƒŒ‚à�I‚í‚è‚©�B
‚Å�A240‚æ�c‚¨‘O‚͉½‚ª‚Å‚«‚é‚ñ‚¾�H�i˜m
0258240NGNG
perl
0259ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby-list:33212
0260ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/33212
0261236NGNG
ƒoƒO‚¾‚Á‚½‚Ì‚©�c 1.6.5‚ðŽg‚Á‚Ä‚¢‚½‚Ì‚Å�A�Å�V‚É‚µ‚Ă݂܂·�B
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤>>259,249 ‚»‚Ì‘¼‚Ì•û�B
0262ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Å�Asuper ‚͂ǂ¤‚Ȃ̂æ�H
0263246NGNG
>>259
‚·‚Ü‚ñ�A‚»‚¤‚¾‚Á‚½‚Ì‚Ë�B�¡‚͈ø‚«Œp‚ª‚ê‚é‚Ì‚Í super ‚̂Ƃ«‚¾‚¯‚©‚È�B
‚ ‚ƃuƒ�ƒbƒN‚ð“n‚³‚ꂽƒ�ƒ\ƒbƒh‚Ì’†‚Å�Aˆø�”‚È‚µ‚Å Proc.new ‚·‚邯�A
‚»‚̃uƒ�ƒbƒN‚ªŽg‚í‚ê‚é‚Ý‚½‚¢‚Ë�B
0264236NGNG
>>262
1.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
>>264
—Ç‚¢‚ñ‚¶‚á‚È‚¢‚Å‚µ‚傤‚©�B
‚µ‚©‚µ ruby ‚ðŽg‚¢Žn‚ß‚½‚΂©‚è‚Å‚±‚±‚܂ŗ�‰ð‚Å‚«‚é‚̂͂·‚²‚¢‚È‚ �B
0266ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŒN‚̃Œƒxƒ‹‚ª’á‚¢‚¾‚¯�B

‚Ý‚ñ‚È‚ÅPerlƒXƒŒƒbƒh‚ð�r‚ç‚»‚¤�I
0267ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>266
�„ŒN‚̃Œƒxƒ‹‚ª’á‚¢‚¾‚¯�B
�„
�„‚Ý‚ñ‚È‚ÅPerlƒXƒŒƒbƒh‚ð�r‚ç‚»‚¤�I
‚±‚̃XƒŒ‚Å‚Í�AƒXƒŒ�r‚炵��ƒŒƒxƒ‹�‚‚¢‚Ì‚©�H
0268ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚â‚Á‚Ï‚è rubyƒ†�[ƒU ‚Í�ŒႾ‚È�B
Perl‚È‚ñ‚©‚Ù‚Á‚Æ‚¢‚Ä‚à�Š‘Þ‚·‚é‚Ì‚É�B
Žã‚¢ŽÒ‚¢‚¶‚ß¶ºÜÙ²
0269ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
perl�Á‚¦‚ë�I
0270ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ˆê�l‚¾‚¯‰½‚ð‹c˜_‚µ‚Ä‚é‚Ì‚©‚í‚©‚炸‚É‘›‚¢‚Å‚éÔ¼‚ª‚¢‚éƒXƒŒ‚Í‚±‚±‚Å‚·‚©?
0271ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>248
ˆê‰žŽg‚¦‚é�B

class Hoge
class << self
attr_accessor :fuga
end
end

Hoge.fuga = "hoge"
p Hoge.fuga
0272ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>271
Š´“®‚µ‚½�I
0273271NGNG
Ѝˆá‚¢‚µ‚Ä‚¢‚½�B

ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
ƒNƒ‰ƒXƒ�ƒ\ƒbƒh‚Ìalias‚Í�ì�¬‚Å‚«‚Ü‚·‚©?
0275ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>274
class 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‚Ì–¼–³‚µ‚³‚ñNGNG
ƒIƒuƒWƒFƒNƒg‚Ì�[‚¢ƒRƒs�[‚Á‚Ä‚±‚êˆÓŠO‚ɉ½‚©•û–@‚ ‚è‚Ü‚·‚©?
newobj = Marshal.load(Marshal.dump(obj))
0277ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>276

�Ä‹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
http://pc3.2ch.net/test/read.cgi/tech/1017736187/l50
‚­‚³‚¢�B‚­‚³‚¢‚悱‚̃XƒŒ�ª

0279ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‰º‚Ìperl‚̃vƒ�ƒOƒ‰ƒ€

@string = <STDIN>;
print @sting;

Ruby‚¾‚Ƃǂ¤�‘‚­‚̂łµ‚傤‚©�H
0280ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>279
string = STDIN.readlines
print string
0281ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>275
‚ ‚肪‚Æ‚¤�B
self‚ª‚Ç‚±‚ʼn½‚ɂȂÁ‚Ä‚¢‚é‚©�A‚¢‚Ü‚¢‚¿”cˆ¬‚Å‚«‚ĂȂ¢‚ȘR‚ê
0282ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒgƒbƒvƒŒƒxƒ‹‚Å‚Í main ‚Æ‚¢‚¤“ÁŽê‚ȃIƒuƒWƒFƒNƒg‚ª self�B
irb ‚Å 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
0283279NGNG
>>280
Thanks
0284ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>282
> ƒ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
Œ»�Ý�A“ú–{�l‚Å�Aruby/GoogleAPI‚ðŽg‚Á‚Ä
‰½‚©ƒ\ƒtƒg‚ð�ì‚Á‚Ä‚¢‚é�l‚Á‚Ä‚¢‚Ü‚·‚©�H
‚¢‚½‚ç�A‹³‚¦‚ê¡

‚Ç‚±‚Å•·‚¢‚½‚ç‚¢‚¢‚Ì‚â‚ç¡
0286ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Perl‚ð‚̂̂µ‚è�APerlƒXƒŒ‚Ì�i�s‚ð–WŠQ‚µ‚Ä‚¢‚é”S’…Šî’nŠO‚ÌRubyƒ†�[ƒU‚ª‚¢‚Ü‚·�Béx‚³‚ꂽ‚è�ø‚ç‚ꂽ‚肵‚½�l‚ª‚½‚­‚³‚ñ�o‚Ä‚¢‚Ü‚·�B“¯’²‚µ‚È‚¢‚悤‚¨Šè‚¢‚µ‚Ü‚·�B
0287ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>285
> ‚Ç‚±‚Å•·‚¢‚½‚ç‚¢‚¢‚Ì‚â‚ç¡
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‚Ì–¼–³‚µ‚³‚ñNGNG
http://www.ruby-lang.org/ja/compar.html ‚É
Ruby‚ł͂æ‚莩‘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‚Ì–¼–³‚µ‚³‚ñNGNG
package Foo;
use overload '+' => \&addFoo;
sub addFor {
#�ˆ—�“à—e
}
0291ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>288
def 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
>>288
> �iTab‹æ�Ø‚èCSVƒtƒ@ƒCƒ‹�j

Ѽޭ°Ý
0293ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
UNICODE‚̃tƒ@ƒCƒ‹‚ð�ˆ—�‚µ‚½‚¢‚ñ‚Å‚·‚ª�AUnix‚ÌNKFƒRƒ}ƒ“ƒh‚Å‚Í
‚Å‚«‚Ü‚¹‚ñ¡ruby‚ðŽg‚¦‚΂ł«‚邯•·‚¢‚½‚̂ł·‚ª�A
‚Ç‚¤‚â‚Á‚Ä‚â‚é‚̂łµ‚傤‚©¡osiete¡
0294ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>293
‰½‚µ‚½‚¢‚©‚É‚æ‚邯Ž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‚Ì–¼–³‚µ‚³‚ñNGNG
ƒR�[ƒh•ÏŠ·‚ɂ‚¢‚Ä‚ÍUnix‚È‚çRuby1.7‚É•W�€“Y•t‚ÌIconv‚ðŽg‚¤Žè‚à�B
0296‚ق肯‚ñNGNG
>>‚Q‚X‚Q�@�@Tab‹æ�Ø‚è‚̃eƒLƒXƒg‚Å‚µ‚½�B
>>‚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‚ق肯‚ñNGNG
‚̂悤‚ÉŒ©‚â‚·‚­�A“¯‚¶ƒtƒ@ƒCƒ‹‚É�o—Í‚µ‚½‚¢‚Å‚·�B

def 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>297
data = ‚Ì––”ö‚Ì [*rows] ‚Í [rows] ‚¶‚á‚È‚¢‚ƃ}ƒY‚»‚¤
�o—Í‚ðŒ©‚È‚¢‚ƃf�[ƒ^‚ªŽèŒ³‚ɂȂ¢‚©‚çƒfƒoƒO‚ª–Ê“|
�o—͂ł«‚é‚È‚ç�Aprintf() ‚Ì‘ã‚í‚è‚É p sprintf() ‚É‚µ‚½‚à‚̃Lƒ{ƒ“
0299ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>293
unicode‘Ήž‚Ìnkf�o‚Ă邿�B
0300ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚à‚¤�­‚µ”»‚è‚â‚·‚¢ƒf�[ƒ^‚ÅŽ¦‚µ‚Ü‚·�B
def 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‚Ì–¼–³‚µ‚³‚ñNGNG
Œ©‚¦‚Â炢‚Å‚·‚ª�Aƒf�[ƒ^�[‚ª
Red[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‚ق肯‚ñNGNG
‚ �A’¸‚¢‚½ƒvƒ�ƒOƒ‰ƒ€‚Í
pick(["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‚ق肯‚ñNGNG
ƒf�[ƒ^�[‚ª“r�Ø‚ê‚Ă܂µ‚½�B‚·‚݂܂¹‚ñ�B‰½“x‚à�B
Red[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
>>302
"%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
>>304
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�BŠæ’£‚Á‚Ă݂܂·�B
0306ƒTƒQƒ}ƒNƒŠNGNG
xoops‚Ìruby”ł݂½‚¢‚Ȃ̂͂Ȃ¢‚Á‚·‚©‚Ë?
esehttpd‚Å“®‚©‚µ‚Ă݂½‚¢‚ñ‚Å‚·‚ª�B
0307ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
WIN32OLE‚ɂ‚¢‚Ä’N‚©‹³‚¦‚Ä‚­‚¾‚³‚¢�B

IE‚ª•ʂ̃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
>>307
�ìŽÒ‚ÌŒfަ”‚ŕ·‚¢‚½•û‚ª‘�‚¢‚©‚à
ttp://hpmboard1.nifty.com/cgi-bin/bbs_by_date.cgi?user_id=CQN02273
0309ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>307
>>308‚ª�‘‚¢‚Ä‚éƒy�[ƒW‚Ì2ŒŽ‚ ‚½‚è‚É�A‚»‚ÌŒ�‚ɂ‚¢‚Ă̂â‚èŽæ‚肪‚ ‚邿�B
‚Ç‚¤‚àƒnƒbƒVƒ…‚ŕԂ·‚Ý‚½‚¢‚¾�B
0310ruby/GoogleAPINGNG
Œ»�Ý�A“ú–{�l‚Å�AAmazonAPI‚ðruby‚©‚çŽg‚Á‚Ä
‰½‚©ƒ\ƒtƒg‚ð�ì‚Á‚Ä‚¢‚é�l‚Á‚Ä‚¢‚Ü‚·‚©�H
‚¢‚½‚ç�A‹³‚¦‚ê¡

‚Ç‚±‚Å•·‚¢‚½‚ç‚¢‚¢‚Ì‚â‚ç¡
0311perl�~–[NGNG
”­”„‚Ù‚â‚Ù‚â‚Ì�u‚ç‚­‚¾–{‚R”Å�v‚æ‚è�B
sub 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‚ç‚È‚¢�~–[NGNG
>>311
Ruby‚Å‚©‚­‚Æ�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
cgi‚Æ‚¢‚¤‚æ‚èˆê”ʂ̘b‚Ȃ̂ł±‚Á‚¿‚Å‚«‚«‚Ü‚·�B
% 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
>>312
‚±‚¤‚·‚邯 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
>>313
‚»‚¤‚¢‚¤ƒ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
>>315
‚Â�[‚©Ruby“à‚Å‰ðŒˆ‚Å‚«‚È‚¢‚Ì‚©yo!
0317ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>311
Proc‚ðŽg‚¤‚̂̓_ƒ�‚È‚Ì�H
0318ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>316
•Ê‚É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
>>317
ˆø�”‚ð () ‚łȂ­‚Ä call() ‚© [] ‚Å“n‚·•K—v‚ª‚ ‚é‚Ì‚Í‚Æ‚à‚©‚­‚Æ‚µ‚Ä
ƒXƒR�[ƒv‚ð‰z‚¦‚é‚ɂ͒è�”‚©ƒOƒ��[ƒoƒ‹•Ï�”‚É‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Æ‚©
0320ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>318
—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
0321320NGNG
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'} + 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
>>321
‚»‚ê‚Í–{“–‚ÉŠ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‚Ì–¼–³‚µ‚³‚ñNGNG
>>321 ’x‚­‚Ă悯‚ê‚Î�A‚±‚ñ‚ÈŽè‚à‚ ‚é

require '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>"} })

0324320NGNG
‚Ç‚¤‚à‚Å‚·�B‚±‚ê‚ç‚Å–â‘è‚Í‰ðŒˆ‚Å‚«‚»‚¤‚Å‚·�B
m4‚âamrita‚à‚µ‚΂炭Žg‚Á‚Ă݂܂·�B
0325ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Perl‚ÌInline::Rubyƒ‚ƒWƒ…�[ƒ‹‚Æ‚©‚Ç‚¤‚Å‚·‚©‚Ë�H
Perl‚Å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
>>325
‚¨�A‚±‚ê‚¢‚¢‚Ë�B
0327ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
irb‚ðirb-0.9-02.09.03‚É‚µ‚½‚ç
% 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‚Ì–¼–³‚µ‚³‚ñNGNG
rand/srand‚ðŽg‚Á‚ēƗ§‚µ‚½—��”ƒIƒuƒWƒFƒNƒg‚Á‚Ä�o—ˆ‚È‚¢‚Ì‚©‚È�H

old = srand(@seed)
r = rand
@seed = srand(old)

‚±‚ñ‚È•—‚ÉŽí(@seed)‚ðƒ��[ƒJƒ‹‚ÉŽ�‚Á‚Ă݂½‚¯‚Ç�A
Ží‚͂܂Á‚½‚­•ω»‚µ‚Ä‚¢‚©‚È‚¢Ž–‚É‹C‚¢‚½�B
0329ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�@�@ƒŠƒeƒ‰ƒ‹•a

�@literal�@�@literal�@�@literal�@�@literal
0330ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>328
1.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
>>328 CƒŒƒxƒ‹‚Å random() ‚ðŒÄ‚Ô‚½‚тɑO‰ñ‚Ì�ó‘Ԃ𕜋A‚µ‚È‚¢‚Æ–³—�‚Á‚Û‚¢
�ó‘Ô‚ð‚Æ‚é‚É‚Í BSD 4.3 ‚É—R—ˆ‚·‚é setstate() ‚ª‚ ‚邯‚±‚낾‚Æ�o—ˆ‚é‚©‚à�H
Ž©—͂łâ‚é‚É‚Í libc ‚̃\�[ƒXŒ©‚È‚ª‚ç Ruby ‚Å non-linear additive feedback
random number generator ‚ðŽÀŒ»‚µ‚Ä‚Ý‚é‚Æ‚©
0332328NGNG
>>330
‚»‚Ì•û–@‚à�l‚¦‚½‚ñ‚¾‚¯‚Ç�A‚Ç‚ñ‚Ç‚ñ•t‰Á‚ª�A
‘å‚«‚­‚È‚Á‚Ä‚¢‚­‚©‚çŽ~‚߂Ƃ±‚¤‚ÆŽv‚Á‚½(w
‘f’¼‚ɓƎ©ŽÀ‘•‚µ‚½‚Ù‚¤‚ª‚悳‚»‚¤‚Å‚·‚Ë�B
0333ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>332
‚Ç‚¤‚¹�ì‚é‚È‚ç�A1.7Œn‚©‚ç�Ì—p‚³‚ê‚éMersenne Twister‚ðŽg‚Á‚Ă݂ĂÍ�H
http://www.math.keio.ac.jp/~matumoto/mt.html
0334328NGNG
>>333
�ì‚é‚Á‚ÄŒ¾‚Á‚Ä‚à�”�s‚ÌRuby‚̃R�[ƒh‚ð
�‘‚­‚¾‚¯‚È‚ñ‚Å�c‚»‚ñ‚ȂɋC�‡‚¢“ü‚Á‚Ă܂¹‚ñ�B
‚à‚µ1.7‚Å—��”ƒIƒuƒWƒFƒNƒg‰»�o—ˆ‚邿‚¤‚É
‚È‚é‚ñ‚Ȃ炻‚Á‚¿Žg‚¨�B
0335ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚Ì”z—ñ‚Á‚ĉ½ŽŸŒ³‚Ü‚Å�ì‚ê‚é‚ñ‚Å‚·‚©�H
0336ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>335 ƒ�ƒ‚ƒŠ‚ª‹–‚¹‚Î�D‚«‚È‚¾‚¯�B
‚½‚¾‚µ’P‚É”z—ñ‚Ì’†‚É”z—ñ‚ª‚ ‚邾‚¯‚Ȃ̂ŎŸŒ³‚Æ‚¢‚Á‚Ä‚¢‚¢‚Ì‚©‚í‚©‚ñ‚È‚¢‚¯‚Ç�B
‚¢‚í‚ä‚é‘½ŽŸŒ³�”’l”z—ñ‚ðˆµ‚¤‚É‚ÍRAA‚É‚ ‚éNArray‚ª—Ç‚¢‚©‚à�B
0337327NGNG
irb‚̕⊮‚ª—ö�|‚¡�[YO�I�I‚¾‚Á‚Ä�¡‚‚©‚¦‚È‚¢‚ñ‚¾‚à‚ñ�B
‚݂Ȃ³‚ñ‚Ó‚Â�[‚Éirb-0.9-02.09.03‚ɱÌß
‚Å‚«‚Ü‚·‚½‚©�H
0338ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>327 -list ‚¾‚© -dev ‚¾‚©‚ɓЂ°‚½•û‚ª‚悳‚°
‰¼‚É‚±‚±‚Ńpƒbƒ`‚ª�o‚Ä‚à–{‰Æ‚É“`‚í‚é‚܂łɎžŠÔ‚©‚©‚è‚»‚¤‚¾‚µ
0339ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG

http://rrr.jin.gr.jp/doc/1.7/

‚±‚Ì JavaDoc ‚Á‚Û‚¢ƒc�[ƒ‹‚Å�ì‚Á‚½‚ÆŽv‚í‚ê‚éƒy�[ƒW‚Í�A
‚È‚ñ‚Ä‚¢‚¤ƒc�[ƒ‹‚ðŽg‚¦‚΂æ‚낵‚¢‚̂ł·‚©�B
0340ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>339
RDoc‚â‚Ë�B
http://rdoc.sourceforge.net/
0341ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ׂ«�扉ŽZŽq‚Ì‘¶�Ý‚ð’m‚炸‚ÉMath.exp‚ð�í—p‚µ‚Ä‚¢‚½‚¤‚Á‚©‚èŽÒ‚Ì�”�¨1
0342ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�œ�œ�œ�œ�œ�œ�œ�œ�uƒIƒZƒ�‚³‚¦”[Šú“à‚É�ì‚ê‚È‚¢��‚n‚n–ð—§‚½‚¸ �v�Õ‚è�œ�œ�œ�œ�œ�œ�œ
�^|�@�@�@�@�@�@ �@ |�@ |�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‚Ì–¼–³‚µ‚³‚ñNGNG
rubyŠî’nŠO‚Ì�r‚炵‚É‘˜‚Á‚Ä�uPerl‚ɂ‚¢‚Ă̎¿–â” �v‚ª’ׂ³‚ꂽ�B
rubyƒ†�[ƒU‚Á‚Ä�ŒႾ‚È�B
0344ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>341 ‚ß‚ñ‚Ç‚­‚³‚¢�ã‚É�®�”‚Ì�ê�‡‚¢‚ç‚ñŒë�·‚܂ł‚­‚Æ‚¢‚¤�c”ߌ€(w
0345ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>343
‚æ‚Á‚ۂlj÷‚µ‚©‚Á‚½‚ñ‚¾‚È�B‚͂͂Í
0346ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚͂͂Í
0347ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ‚ƒWƒ…�[ƒ‹M‚ÅŽQ�Ɖ”\‚È’è�”C‚ª‚ǂ̃‚ƒWƒ…�[ƒ‹‚Å’è‹`‚³‚ꂽ‚©’m‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·�H
0348347NGNG
>>347�@Ž©ŒÈƒŒƒX�@‚È‚ñ‚ƂȂ­•ª‚©‚è‚Ü‚µ‚½
name.split(/::/)‚Æancestors‚ð•à‚«‚È‚ª‚çconst_defined?‚Å’²‚ׂĂ¢‚¯‚Ηǂ¢‚Ý‚½‚¢
0349ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ€”‚Ì�uPerl‚ɂ‚¢‚Ă̎¿–â” �v‚ªrubyŠî’nŠO‚É‚æ‚Á‚Ēׂ³‚ê‚Ü‚µ‚½�B
�S‚ ‚é�l‚Í�ArubyƒXƒŒ‚É‚¨—çŽQ‚肵‚Ä‚­‚¾‚³‚¢�B
0350ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚̃z�[ƒ€‚̃gƒbƒvƒy�[ƒW‚Í�î•ñ‚ð�®—�‚µ‚ĉð‚è‚â‚·‚­
‚Pƒy�[ƒW‚É”[‚߂ă†�[ƒU�[‚ɃXƒNƒ��[ƒ‹‚ð‹­�§‚³‚¹‚È‚¢‚悤‚É
‚µ‚悤‚Æ‚¢‚¤”z—¶‚ª‚Ü‚Á‚½‚­Š´‚¶‚ç‚ê‚È‚¢�B
‚Æ‚©‚¢‚Ü‚³‚猾‚Á‚Ă݂éƒeƒXƒg
0351ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚¤Žv‚¤‚È‚ç >>350 ‚ªƒfƒUƒCƒ“‚ð’ñˆÄ‚·‚邯‚©ŽuŠè‚µ‚Ä‘ã‚í‚è‚É‚â‚Á‚Ä‚â‚邯‚©�B
ŠÇ—�ŽÒ‚É�o—ˆ‚é‚à‚ñ‚Ȃ炻‚¤‚µ‚Ä‚ ‚邾‚낤‚©‚ç�A�o—ˆ‚È‚¢‚©‚ç‚â‚Á‚ĂȂ¢‚ÆŽv‚í‚ê�B
0352ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ ‚éƒNƒ‰ƒX‚©‚çŒ»Žž“_‚Å�A‚ǂꂾ‚¯ƒCƒ“ƒXƒ^ƒ“ƒX‚ª�¶�¬‚³‚ê‚Ä‚¢‚é‚©‚ð
’m‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚©�H
0353ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>352
ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ªŒÄ‚΂ê‚邽‚Ñ‚É�AƒNƒ‰ƒX•Ï�”‚̃JƒEƒ“ƒ^‚ðƒCƒ“ƒNƒŠƒ�ƒ“ƒg‚·‚ê‚΂¢‚¢‚ñ‚Å‚Í�B
0354ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>352�@353‚Ì‚â‚è‚©‚½‚ª‚·‚È‚¨
require "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
0355352NGNG
ŒÝ‚¢‚ÉŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ð‘å—Ê‚É�¶�¬‚·‚é•K—v‚ª‚ ‚é‚̂ł·‚ª¤
—Ⴆ‚Τ
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‚Ì–¼–³‚µ‚³‚ñNGNG
>>355 ‚»‚Ì�uƒOƒ‹�[ƒv�v‚ɑ΂·‚éƒCƒ“ƒ^�[ƒtƒFƒCƒX‚É‚æ‚肯‚è‚©‚Æ
0357ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
StructŽg‚¦‚Î?

Group = 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")
0358352NGNG
>>353
>>354
—L“‚²‚´‚¢‚Ü‚·�B
>>357
•Ö—˜‚»‚¤‚Å‚·‚Ë�BStruct�B‚±‚ê‚ð‚µ‚Î‚ç‚­Žg‚Á‚Ă݂܂·�B
‚‚¢‚łłȂñ‚Å‚·‚ª¤‚±‚ÌStruct‚ÌŽÀ‘•—á‚©‰½‚©‚²‘¶’m‚Å‚·‚©�H
RAA‚Æ‚©‚Å‚à‚¢‚¢‚ñ‚Å‚·�B

0359ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>358�@ŽÀ‘•—á�H�@•W�€ƒ‰ƒCƒuƒ‰ƒŠ‚É‚¨‚¯‚é—˜—p—á‚È‚çˆÈ‰º‚ª�o—Í‚·‚é
require "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?
}
0360358NGNG
>>359
>ŽÀ‘•—á�H�@•W�€ƒ‰ƒCƒuƒ‰ƒŠ‚É‚¨‚¯‚é—˜—p—á‚È‚çˆÈ‰º‚ª�o—Í‚·‚é
—L“‚²‚´‚¢‚Ü‚µ‚½�B•W�€ƒ‰ƒCƒuƒ‰ƒŠ‚É‚¨‚¯‚é—˜—p—á‚ÅŒ‹�\‚È‚ñ‚Å‚·�B

�@# ‚µ‚©‚µ¤‘¼‚Ì�l‚Í‚±‚¤‚µ‚ĕ׋­‚µ‚Ä‚½‚Ì‚©�c�c

‚Ç‚¤‚à‚Å‚µ‚½�B
0361ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
MS-Windows”Å‚Ìruby‚ðW2k‚ɃCƒ“ƒXƒg�[ƒ‹‚µ‚ÄŽg‚Á‚Ä‚¢‚é‚ñ‚¾‚¯‚ǃRƒ}ƒ“ƒhƒvƒ�ƒ“ƒvƒg‚Å
c:> hoge.rb foo bar
‚Æ‚µ‚½�ê�‡�AARGV‚ŃRƒ}ƒ“ƒh‚̈ø�”‚ªŽæ‚ê‚È‚¢�B
c:> ruby hoge.rb foo bar
‚È‚çOK�c‚Á‚Ä‚±‚ñ‚È‚à‚ñ�H‚¹‚Á‚©‚­ruby‚Á‚Ä�È—ª‚Å‚«‚é‚ñ‚¾‚Á‚½‚çˆø�”‚àŽæ‚Á‚Ăقµ‚¢‚ñ‚¾‚¯‚Ç�E�E�E�B
0362350NGNG
>>351
ŠÇ—�ŽÒ‚³‚ñ‚²‚ß‚ñ�I
0363ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
perl‚É‚Í
http://www.bekkoame.ne.jp/~bero/docj/module_/15/WWW_Search.html
‚Ì
WWW::Search ‚Æ‚¢‚¤•Ö—˜‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·‚ª¤
ruby‚ɂ͓¯—l‚ÌŽdŽ–‚ð‚·‚é‚à‚Ì‚Á‚ĉ½‚ª‚ ‚è‚Ü‚·‚©�B
0364ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>361
cygwin”łł͂±‚¤‚È‚é�B

$ cat foo.rb
#!/usr/local/bin/ruby

p ARGV
$ ./foo.rb foo bar
["foo", "bar"]

0365ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>363
Ruby/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
cgi-escape‚Á‚ă�ƒ“ƒ‰ƒCƒi�[‚Å�‘‚¯‚Ü‚·‚©�H

$ 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
>>363
‘f’¼‚ÉPerŽg‚Á‚½•û‚ª‚¢‚¢‚ÆŽv‚¤�B
0368ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>366 ‚Ƃ肠‚¦‚¸ p ‚ŃeƒXƒg‚·‚é‚Ì‚ª‚¢‚¢‚©‚Æ
$ ruby -ruri -e'p("start",ENV["hogeserch"].to_s+"+"+URI::escape(ARGV[0]))' “ú–{Œê
0369ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>357
><—ª>
>group
>end
>
>sony = group("sony")

‚±‚̃Oƒ‹�[ƒv�\‘¢‘̃IƒuƒWƒF‚Ìsony‚Æ
ˆø�”‚Ì"sony"‚Ƃ̊Ԃ̈Ⴂ‚͂ǂ¤‚â‚Á‚Ä‹æ•Ê‚³‚ê‚é‚̂łµ‚傤�B
irb(main):001:0> sony.type
‚Æ‚µ‚½�ê�‡�B
0370–¼–³‚µ‚³‚ñ�—‚d‚�‚�‚ƒ‚“NGNG
�V‚µ‚­�o‚½�³‹K•\Œ»‚Ìruby–{‚͂ǂ¤‚æ�B
0371ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>369
‚Ƃ肠‚¦‚¸�A“ú–{Œê•׋­‚µ‚Ä‚©‚玿–â‚·‚ê
ˆÓ–¡•ª‚©‚ç‚ñ

irb(main):001:0> sony.type
‚ÌŒ‹‰Ê‚ª
#<Class:0x1019dc38>
‚ƂȂ邪�A‹C‚É‚·‚é‚È�A‹æ•Ê‚·‚é•K—v‚È‚ñ‚Ä‚Ë�[‚æ
0372ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‹àŒõ‚Á‚Ä“z‚ÌŽ¿–₪‚¤‚´‚¢�B
0373ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>372
‹àŒõ‚½‚ñ“{‚ç‚ê‚¿‚á‚Á‚½‚Ë...
0374ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>371 ‚Ƃ肠‚¦‚¸ >>369 ‚Ì‚«‚«‚½‚¢‚±‚Æ‚ª‰½‚©•ª‚©‚ç‚ñ‚̂ɂ͓¯ˆÓ‚·‚邯‚Ç�A
> 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
Ruby ‚ŕ‚¶‚Ä‚é‚Ì‚Í >>359 ‚̒ʂ肾‚¯‚Ç�A•�’ʂ͂±‚¤‚·‚é‚ñ‚¶‚á‚È‚¢‚©‚È‚ 
% 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>374 ‚Í•�’Ê(?)‚±‚¤�‘‚­‚ÆŽv‚¤
irb(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
http://pc3.2ch.net/test/read.cgi/tech/1033688230/
”j‰ó‚µ‚ë
0378ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
perlƒXƒŒ‚̓EƒUƒC‚ª�A’ׂ·‚Ì‚à–Ê“|‚­‚³‚¢
0379ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚ÅCGI‚͔ˆႢ‚Å‚·‚æ‚Ë�B
‚·‚݂܂¹‚ñ�B‹A‚è‚Ü‚·�B
0380ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
each_with_index ‚ª‚ ‚é‚Ì‚É map_with_index ‚ª–³‚¢‚Ì‚Í�A
Žg—p•p“x‚ª�­‚È‚¢‚µ�A‚»‚ñ‚È‚±‚Æ‚µ‚Ä‚½‚ç‘S‚ẴCƒeƒŒ�[ƒ^‚É
xxx_with_index‚ð—pˆÓ‚·‚é‰H–ڂɂȂé�B—~‚µ‚©‚Á‚½‚玩•ª‚Å�‘‚¯�B
‚Á‚ĉðŽß‚Í‚ ‚Á‚Ä‚é?
0381ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ü‚½�uPerl‚ɂ‚¢‚Ă̎¿–â” �v‚ª‚¨‘î‚Ì–V‚â‚É�r‚炳‚êŽn‚߂܂µ‚½�B
�e‚Æ‚µ‚Ä�Ó”C‚ðŽæ‚Á‚Ä‚à‚ç‚í‚È‚¢‚Æ�ArubyƒXƒŒ‚Ì�í�œˆË—Š‚ð�o‚µ‚Ü‚·�B
0382ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚̔‚Å�¡‚Ü‚ÅRuby‚ª‚Ç‚ñ‚È–Ú‚É‚ ‚Á‚Ä—ˆ‚½‚©‚ð�l‚¦‚邯�A
Perl‚̃XƒŒ‚ª�r‚³‚ê‚é‚͕̂K‘R‚ÌŒ‹‰Ê‚¾‚낤�B
0383ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>381
‚¢‚¢‹C–¡‚¾�A‚Æ‚µ‚©Žv‚í‚È‚¢‚ª‚È�B
0384ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>383
Ruby user is cold.
0385ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚q‚•‚‚‚™�@‚‰‚“�@‚Ž‚�‚Ž‚‚‚�‚’�@‚�‚Ž‚…�I
0386ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>385
....nanber? Was the number meant?
0387ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby is one of the best scripting languages,
but Ruby users have the worst moral.
0388ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby users have the worst English competence, too.
0389ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>380 ‚ ‚Á‚Ă邩‚Ç‚¤‚©‚Í•ª‚©‚ç‚ñ‚¯‚Ç�A‘¼‚̃CƒeƒŒ�[ƒ^‚Å each ‚̑ւí‚è‚É
each_with_index ‚Æ‚© myeach ‚Æ‚©ŒÄ‚Ô•û–@‚ª‚ ‚邯‚¢‚¢‚̂ɂ˂¦�B
map(:each_with_index){|e,i| ... } ‚Æ‚©‚³�B
0390ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>384-388 welcome to engrish world!
0391ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
[ruby-list:36109]
�‘�ЂւÌ�w”ƒˆÓ—~‚È‚­‚È‚è‚Ü‚µ‚½�B
”Þ‚É—Š‚Ü‚ê‚½’˜ŽÒ‚͂ǂ¤Žv‚Á‚Ä‚¢‚é‚Ì‚©�H
0392ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>389
require '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‚Ì–¼–³‚µ‚³‚ñNGNG
>>379 •ʂɋA‚ñ‚È‚­‚Ä‚à‚¢‚¢‚ñ‚¶‚á�[‚Ë‚Ì�B
CGI‚àRuby‚à‚æ‚­’m‚ç‚Ë�[‚È‚çCGI‚Ì–â‘è‚©Ruby‚Ì–â‘è‚©�؂蕪‚¯‚ç‚ê‚È‚¢‚Ì‚Í
“–‘R‚È‚ñ‚¾‚µ�A“IŠm‚ɔ‚ðŽg‚¢•ª‚¯‚邱‚Ƃ͖³—�‚ÆŽv‚í‚ê�B
ˆá‚Á‚½‚ç—U“±‚³‚ê‚ñ‚¶‚á‚Ë�[‚©�B
0394ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
i hAve a rubYYYY.

0395ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�V‚µ‚¢ŒÄ‚Ñ•û‚ð•K—v‚Æ‚µ‚Ä‚¢‚Ü‚·�B

Œp�³‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX = ƒŒƒvƒŠƒJƒ“ƒg

‚±‚ꂵ‚©Žv‚¢•t‚«‚Ü‚¹‚ñ�B‘¼‚ɉ½‚ª‚ ‚è‚Ü‚·‚©�H
0396ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>395 �uŒp�³‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX�v‚Á‚ĉ½�H ƒR�[ƒh‚Å—á‚ð‚Ý‚¹‚ê
0397ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>392
‚¤‚í�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
>>397 –ˆ‰ñ‚»‚¤‚¢‚¤‚Ì‚ð�‘‚­‚Ì‚ª•³‚ß‚ñ‚Ç‚¢‚Á‚Ä‚±‚Æ‚¶‚á‚È‚¢‚Ì�H
‚»‚ê‚ɃIƒuƒWƒFƒNƒg’PˆÊ‚Ƃ͂¢‚¦ each ‚ð•Ï‚¦‚½‚çƒ}ƒY‚¢‚±‚Æ‚à‚æ‚­‚ ‚é�B
0399ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>398
‚¤‚ñ�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‚Ì–¼–³‚µ‚³‚ñNGNG
‚¿‚å‚¢‰ü—Ç�B‚±‚ê‚Å>>389‚Ì‚¢‚¤‚±‚Æ‚à‚Å‚«‚é‚©‚È�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"]

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‚Ì–¼–³‚µ‚³‚ñNGNG
>>400�@inject‚Ý‚½‚¢‚Ɉø�”‚ð‚Æ‚éƒ�ƒ\ƒbƒh‚͂ǂ¤‚·‚é�H
0402ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>379
WebProg‚É‚à‚¿‚á‚ñ‚ƃ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
>396
ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
‚ä‚ñ‚ä‚ñ�H
0405ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>403 �uƒX�[ƒp�[‚©‚çŒp�³‚µ‚½ƒNƒ‰ƒX�v‚Á‚ĉ½�H
�uƒX�[ƒp�[‚©‚çŒp�³‚µ‚½ƒNƒ‰ƒX�v‚Æ‚»‚¤‚łȂ¢‚à‚̗̂á‚ð1‚‚¸‚Â
ŽÀ�s‰Â”\‚ȃR�[ƒh‚ÅŒ©‚¹‚ê
0406ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
100% Pure Ruby ‚È zip ƒc�[ƒ‹�Atar_gz ƒc�[ƒ‹‚Á‚Ä�A‚ ‚è‚Ü‚·‚©�H
ƒvƒ�ƒOƒ‰ƒ€‚Ì’†‚ÅŽg‚¦‚é‚à‚Ì‚ª‚ ‚ê‚Η~‚µ‚¢‚Å‚·�B�i–³‚¯‚ê‚Ζ³‚¢‚Å�A�ì‚Á‚Ă݂½‚¢�j
0407ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Šî’ê‚©‚çŒp�³‚µ‚È‚¢ƒNƒ‰ƒX‚Í‚ ‚邯Žv‚¢‚Ü‚·‚©�H
�ãˆÊƒNƒ‰ƒX‚̃�ƒ\ƒbƒh‚ð‹@”\Šg’£‚Ì‚½‚ß�ÝŒv‚𖳎‹‚µƒR�[ƒhƒŒƒxƒ‹‚Å�ŸŽè‚É
ƒI�[ƒo�[ƒ‰ƒCƒh‚µ‚Ă悢‚̂ł·‚©�Hgoto•¶‚ð’m‚Á‚Ä‚¢‚Ü‚·‚©�H
perler‚Å‚·‚©�H
0408ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ÙËÞÁ­³»ÝÀÁ ÈÀÆÏ¼ÞÚ½¶º²²
0409ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>406
zlib ‚̃‰ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
�i�@�L,_�T`�j Ì߯
0411ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�@�@�@�È�@ �—�—�—
�@ �^�œ�R/
�@(�Q�Q�Q)�@
0412ƒ}ƒTƒINGNG
‚±‚ñ‚É‚¿‚͂܂³‚¨‚Å‚·�B
Ž„�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‚Ì–¼–³‚µ‚³‚ñNGNG
�ª‚Ü‚³‚¨‚³‚ñ–^Ž�‚Ì“ú‹L‚Å“{‚ç‚ê‚Ä‚½‚Ë�E�E�E�B
0414ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
> Šî’ê‚©‚çŒp�³‚µ‚È‚¢ƒNƒ‰ƒX‚Í‚ ‚邯Žv‚¢‚Ü‚·‚©�H
‚Ü‚¸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‚Ì–¼–³‚µ‚³‚ñNGNG
>>414
1.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
>>415
’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
>>412
‚»‚̃�ƒ‹ƒ}ƒK‚̈Ó�}‚ª‰½‚¾‚©‚í‚©‚ç‚ñ�B
0418ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‹C‚É‚µ‚¿‚áƒ_ƒ�‚¾�B‚È‚©‚Á‚½‚±‚Ƃɂµ‚悤�B
0419389NGNG
>>400 ‚¤�[‚ñ�A•Ö—˜‚»‚¤‚¾‚¯‚Ç‚¢‚¿‚¢‚¿ extend ‚·‚é‚Ì‚ª‚ß‚ñ‚Ç‚¢‚Æ‚¢‚¤‚͕̂s�¸�™?
ƒ�ƒ\ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
�i�@�L,_�T`�j Ì߯
0422ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
$ cat pu
�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>419
400‚ðƒ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
0424380NGNG
>>392 ‚à >>400 ‚à(¥�Í¥)²²!!
‚Å‚à enumerator ‚ª•W�€‚Å“ü‚Á‚ĂȂ¢‚Ì‚Í(¥‚`¥)²¸Å²!!
0425ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
#an Array of Hashes
@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
>>425
‚Ü‚ñ‚Ü�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", 
    }, 
]
0427425NGNG
‰½‚©¤”»‚è‚É‚­‚¢‚Å‚·‚ª�A
push @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
>>424
‚¨‚¨¤‚·‚݂܂¹‚ñ‚Å‚µ‚½�B427‚Í–³Ž‹‚µ‚Ä‚­‚¾‚³‚¢�B
0429425NGNG
>>426
—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‚Ì–¼–³‚µ‚³‚ñNGNG
>>429 ‰½‚©‚牽‚ª�ì‚肽‚¢‚Ì‚©‚ð‹ï‘Ì“I‚É�‘‚­‚ׂµ�B
aoh = [{: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]}}
0431425NGNG
429‚Í‰ðŒˆ‚µ‚Ü‚µ‚½�B
p AoH.each{|a|
p a.shift
p a.shift
p a.shift
}
‚Å‚·‚Ë�B
0432425NGNG
>>430
—L“‚²‚´‚¢‚Ü‚µ‚½�I�I�I
ˆÈŒã�A‚à‚¤�­‚µ�g’·‚ɃJƒLƒR‚µ‚Ü‚·�B
0433ƒ}ƒTƒINGNG
‚±‚ñ‚É‚¿‚̓}ƒTƒIƒ`ƒƒƒ“‚Å‚·�B
�¡“úŒ©‚½‚ç‚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
>414
‚·‚²‚¢ƒlƒ^‚¾‚È‚Ÿ�B
singleton‚Ísingleton‚Å‚ ‚Á‚ÄsingletonˆÈŠO‚̉½ŽÒ‚Å‚à‚È‚¢‚æ‚낵‚¢‚©�H
0435ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ�ƒ‹ƒ}ƒK‚ð”­�s‚·‚邽‚߂Ɏ¿–₵‚Ü‚­‚Á‚Ä‚é‚Ì‚©�H

http://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¤425NGNG
ˆÈ‘OŽ¿–₳‚¹‚Ä‚¢‚½‚¾‚¢‚½ŽÒ‚Å‚·�BŒ»�Ý�AˆÈ‰º‚̂悤‚ȃf�[ƒ^�\‘¢(syntax‚Íperl)‚ð�@>>357�@‚̂悤‚ÉStruct‚ðŽg‚Á‚Ĥ
Š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
>>436
‚¤�[‚ñ�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
>414
>‚¢‚¸‚ê‚É‚¹‚æRuby‚ÉŒÀ‚炸‚Ù‚Æ‚ñ‚Ç‚Ì�Ä’è‹`‚Í—˜—pŽÒ‚Ì�Ó”C‚É‚¨‚¢‚Ä�ŸŽè‚É�s‚È‚í‚ê‚é
‚Æ‚¢‚¤‚±‚Æ‚Í�Ä’è‹`‚ð“ú–é—˜—p‚µ‚Ä‚¢‚é•û�X‚ÍComplex‚âDate‚̂悤‚È�V‚½‚È
ƒNƒ‰ƒXorƒNƒ‰ƒXƒ‰ƒCƒuƒ‰ƒŠ‚ð“ú�X�ì�¬‚³‚ê‚Ä‚¢‚é‚킯‚¾�B
0439ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>436 ‘²˜_‚̃Aƒ“ƒP�[ƒg‚È‚ç“à•”‚ł͊w�ДÔ�†‚ðƒL�[‚Æ‚·‚é‚Ì‚ª‚¢‚¢‚ÆŽv‚¤�B
ƒ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
>>438
ˆÓ–¡‚ª‚æ‚­•ª‚©‚ç‚È‚©‚Á‚½‚ª�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
>>434
ˆêŒ¾‚Å‚¢‚¦‚Î�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¤425NGNG
�­‚µ�Ú‚µ‚­�à–¾‚µ‚Ü‚·�B‘²˜_‚Å‚·‚Ì‚Å�ì‹Æ‚ÍŽ„ˆê�l‚Å�s‚¢‚Ü‚·�BƒAƒ“ƒP�[ƒg‚Íorg1�`org20‚É�o‚µ�A‰ñŽû‚µ‚½‚à‚Ì‚ð
humanResource ¤ 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
0443438NGNG
>440
‚»‚ê‚Í’m‚Á‚Ä‚é�B‚½‚¾’P�ƒ‚ɂǂêˆÊ‚Ì�l‚ª�V‹K‚ɃNƒ‰ƒX‚ð�ì‚Á‚Ä‚¢‚é‚Ì‚©‚È�A‚Æ�B
ŽÀ�ۂǂꂭ‚ç‚¢‚È‚ñ‚¾‚ë�H“ÁˆÙƒ�ƒ\ƒbƒh‚â“ÁˆÙƒNƒ‰ƒX‚ð—˜—p‚·‚邱‚Æ‚à�l‚¦‚ç‚ê‚ê‚é
‚Å‚µ‚å�B
0444ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>442�@�…‚ð�·‚·‚悤‚ň«‚¢‚¯‚Ç�A�o—Í‚ÉRuby‚ÌƒŠƒeƒ‰ƒ‹‚̂悤‚È•¡ŽG‚È•¶–@‚ð
Ž�‚¿�ž‚ñ‚¾‚è�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‚Ì–¼–³‚µ‚³‚ñNGNG
Žg‚Á‚½‚±‚ƂȂ¢‚ª‚±‚¤‚¢‚¤‚Ì‚à‚ ‚邵�B
http://www.cneti.net/users/kou/ruby/xmlstore/
0446352¤425NGNG
>>444
Š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‚Ì–¼–³‚µ‚³‚ñNGNG
>>442
CSV‚È‚èTSV‚È‚è‚ÅExcel‚©‚ç�‘‚«�o‚µ‚Ä�Aawk‚ ‚½‚è‚Å�WŒv‚µ‚¿‚Ⴞ‚ß‚©‚È�H
0448–¼–³‚µ‚³‚ñ�—‚d‚�‚�‚ƒ‚“NGNG
‚±‚Ìawk‚Ñ‚å�[ƒ‚ƒmƒ�
0449ˆêŽžŠÔ–ÚNGNG
ƒAƒ‹ƒSƒŠƒYƒ€�u�À‚»‚Ì‚P
array.sort{|a,b,c| ‚±‚±‚ɂȂñ‚Ä�‘‚­‚Ì‚©‚È�B}
0450ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>449
3 ˆø�”�H
0451ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>325
0452ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>446 Excel‚ðŽg‚í‚È‚¢‚Æ‚¢‚¯‚È‚¢‚¯‚ÇRuby‚Å‚â‚肽‚¢‚Á‚Ä‚¢‚¤‚̂Ȃç
Ruby‚©‚ç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‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚¤‚¢‚¦‚΂±‚¤‚¢‚¤˜b‚à‚ ‚é‚Ë�BŒ»�sƒo�[ƒWƒ‡ƒ“‚͂ǂ¤‚¾‚©’m‚ç‚È‚¢‚¯‚Ç
Excel‚Ńrƒ~ƒ‡�[‚ÈŒvŽZ‚ð‚·‚é‚Æ‚«‚Í‹C‚ð‚‚¯‚ê
ttp://www.matsusaka-u.ac.jp/~okumura/software/excel/roundoff.html
0454ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>449
$ ruby -e 'p [4,3,1,2].sort{|a,b,c|a<=>b}'
[1, 2, 3, 4]
0455ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>454
def f
yield(1,2)
end
f{|i,j,k| p [i,j,k]} #=> [1, 2, nil]

‚Æ‚¢‚¤‚±‚Æ‚©�c
0456ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚µ‚©‚µ‚»‚ê‚̓Aƒ‹ƒSƒŠƒYƒ€‚Ì–â‘è‚Ȃ̂©?
0457ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>449
ary.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‚Ì–¼–³‚µ‚³‚ñNGNG
�¡‚Ȃ畷‚¯‚»‚¤�c�c�Bupto,time,each‚Ȃǎg‚Á‚Ä‚é‚ñ‚¾‚¯‚Ç�c�c
a1
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 '("a".."c").each{|i|("1".."3").each{|j| puts i+j}}'
‚Æ
ruby -e '("1".."3").each{|i|("a".."c").each{|j| puts j+i}}'
‚Á‚Ä‚±‚Æ‚©�H
0460ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒTƒuƒNƒ‰ƒX‚Å•K‚¸ƒ�ƒ\ƒbƒh‚ðŽÀ‘•‚µ‚Ä—~‚µ‚¢�ê�‡‚Á‚Ä
ƒX�[ƒp�[ƒNƒ‰ƒX‚Å def foo; fail; end ‚Æ‚©‚â‚éˆÈŠO‚É
‰½‚©ƒJƒbƒR‚¢‚¢•û–@‚È‚¢‚©‚È�H
‚±‚¤‚¢‚¤‚Ì‚ð–]‚Þ‚Ì‚ÍRuby‚ÌŽv‘z‚ÆŠO‚ê‚Ä‚¢‚邯Žv‚¤‚ñ‚¾‚¯‚Ç�B
0461ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>460
Classƒ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¤425NGNG
>>452
Šî–{“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‚Ì–¼–³‚µ‚³‚ñNGNG
>>461 inherited ‚Í class •¶‚Ì�擪‚ŌĂ΂ê‚é‚̂Ŗ³—��B
class •¶‚Ì�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
>>461
‚»‚̃^ƒ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
0465460NGNG
>>461
Ž©•ª‚à 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
>>465
Œ‹˜_‚Í�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>462 RubyŽ©‘̂Ɋւµ‚Ä‚¾‚¯“š‚¦‚é‚Æ�Afor ‚Í each ‚ðŽg‚Á‚ÄŽÀŒ»‚³‚ê‚é�B
for 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
>>456 ‚Í�Ó”C‚ð‚Æ‚Á‚Ä�A457‚ª’l‚ð•Ô‚·‘O‚Éinject‚ª‚¿‚傤‚Çn‰ñŒÄ‚΂ê‚éŠm—¦‚ðŒvŽZ‚µ‚é
‚¿‚Ȃ݂ɂ±‚ê‚Í bogo-sort ‚̂悤‚¾‚È
ttp://www.tuxedo.org/~esr/jargon/html/entry/bogo-sort.html
0469ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>465
inherited ‚̓†�[ƒU‚É‚æ‚éŒp�³‚ÌŽèŠÔ‚ðŒyŒ¸‚·‚é‚̂ɕ֗˜‚ ‚邿
ŽÀ—á‚Í•W�€“Y•t‚Ì singleton.rb ŽQ�Æ‚·‚邿‚낵
0470ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>460
‚»‚ê‚Í’Š�Ûƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
weakref ‚Á‚Ăǂ¤‚¢‚¤�ê�‡‚ÉŽg‚¤‚̂ł·‚©�H
0472ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>458
2‚‚ð‚Ç‚¤‚·‚é‚Ì‚©‚ª‚í‚©‚ç‚ñ‚ª�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
0473456NGNG
>>468
‚¤‚¿‚Ì‚Í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
>>471
ƒ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
>>443
‘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
0476460NGNG
>>466
> 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
cols = [ "ID", "Name", "Born" ]
[ [ 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
>>477
[ [ 1, "“Œ‹ž‘¾˜Y", "“Œ‹ž" ],
[ 2, "�ç—tŽŸ˜Y", "�ç—t" ],
[ 3, "ŽR—œŽO˜Y", "ŽR—œ" ],
].unshift(cols).each{|id , name ˆÈ‰º“¯•¶
0479ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
$ ruby -e "p (1000**8).type"
1000000000000000000000000
$ 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>479
p (1000**8) #=> nil
nil.type #=> NilClass

1.7 ‚ł͎d—l•Ï�X‚³‚ê‚Ä�A
�ã‚Ì�‘‚«•û‚Å‚à‰º‚Æ“¯‚¶Œ‹‰Ê‚ɂȂÁ‚Ä‚¢‚é�B
0481479NGNG
>>480
‚È‚é‚Ù‚Ç�B1.7ƒCƒ“ƒXƒR‚µ‚悤‚©‚È�B
0482ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚¤‚¢‚¦‚Î 1.7 ‚¾‚Æ class ‚ðŽg‚¦‚Æ‚¤‚邳‚¢�B
$ 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
ruby‚Ì—áŠO�ˆ—�‚Á‚Ä‚â‚Á‚Ï‚·‚²‚¢‚ñ‚Å‚·‚©�H
�ìŽÒ‚³‚ñ‚Í�uruby–{�v‚Å‚à—áŠO‚̉ð�à‚É’�—Í‚³‚ê‚Ă܂µ‚½‚ª�A
�@�u‚±‚¢‚‚Ÿ¤‚·‚Á‚«‚è�‘‚¯‚邿�v
‚ÆŽv‚¦‚邿‚¤‚ȃTƒ“ƒvƒ‹‚Á‚ĉ½‚©‚²‘¶’m‚ ‚è‚Ü‚¹‚ñ�H



0484ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Java ‚Æ”äŠr‚·‚ê‚Î�A
�EƒfƒtƒHƒ‹ƒg‚Å throw
�EŽÀ�Û‚É—áŠO‚ª�オ‚é‚܂łǂ̗áŠO‚ª‚ ‚ª‚é‚Ì‚©‚í‚©‚ç‚È‚¢
‚­‚ç‚¢‚Å‚»‚¤•Ï‚í‚è‚È‚¢‚悤‚È�B
0485ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚¾‚æ‚Ë�BRuby‚Æ“¯’ö“x‚Ì—áŠO‹@�\‚Í‚ ‚Á‚Ä“–‘R‚Á‚Ä‹C‚ª‚·‚é�B
‚ ‚Æ�ARuby ‚¾‚Æ—áŠO‚Í raise ‚Æ rescue ‚̃yƒA‚Å‚â‚é‚ñ‚¾‚¯‚Ç�A
‚»‚ê‚Æ‚Í•Ê‚É catch ‚Æ throw ‚à—pˆÓ‚³‚ê‚Ä‚é�B
0486ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
JAVA‚͉½ŒÌƒ�ƒ\ƒbƒh–¼�AŠÖ�”–¼‚ª‚ ‚ñ‚Ȃɒ·‚¢‚̂łµ‚傤‚©�H

Win32‚à’·‚¢‚¯‚Ç�c�c
0487486NGNG
‚±‚±‚ÍrubyƒXƒŒ‚Å‚µ‚½�B‚·‚݂܂¹‚Ê‚™�B
0488ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
’Z‚¢–¼‘O‚ð�l‚¦‚Ă邯‚¢‚‚܂ł½‚Á‚Ä‚à‹@”\‚ª’ljÁ‚Å‚«‚È‚¢‚©‚ç�B
0489ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>486
Smalltalk ‚ð‚¢‚¶‚Á‚Ä‚¢‚邯е‚ê‚邯Žv‚í‚ê�B
0490rubyŽn‚ß‚æ‚Á‚©‚È�[NGNG
ruby‚Ì�ìŽÒ‚Á‚Ä“ú–{�l‚Å‚·‚æ‚Ë�B
‚È‚ç‚Î�A
A�¨‚`
B�¨‚a
‚̂悤‚É‘SŠp‰p�”Žš‚É’uŠ·‚·‚é‹@”\‚Á‚ÄŽ�‚Á‚Ä‚é‚ñ‚Å‚·‚©‚Ÿ�H

‚»‚ꂪ‚Å‚«‚é‚È‚çrubyŽn‚ß‚æ‚Á‚©‚È�[
0491ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>489
‚È‚ºSmalltalk�H Java‚ÅŠµ‚ê‚邯Žv‚í‚ê�B

>>490
‚µ‚¿‚á‚¢‚¯‚È‚¢‚Á‚Ä‚±‚Ƃ͂Ȃ¢‚¯‚Ç�AŒ¾Œê‚Ì‹@”\‚ł͂Ȃ­‚Ä‚»‚¤‚¢‚¤‚̂̓‰ƒCƒuƒ‰ƒŠ‚ÅŽÀ‘•‚·‚é�B
•¶Žš—ñ‘€�삪‚Å‚«‚ê‚΂ǂ̌¾Œê‚Å‚à‚â‚ê‚΂ł«‚邿�B
0492ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>490

Ruby/KAKASI‚‚©‚Á‚Ä‚­‚¾‚³‚Ÿ‚¢

require "kakasi"
puts Kakasi::kakasi('-osjis -aE',gets)

ƒIƒvƒVƒ‡ƒ“‚ÍKAKASI‚̃hƒLƒ…ƒ�ƒ“ƒg‚ð“Ç‚ñ‚ł˂¥‚¥
0493999NGNG
"a".upto("z")‚Í‚ ‚é‚Ì‚É
"z".downto("a")‚͂Ȃ¢‚͉̂½ŒÌ‚Å‚·‚©�H
0494999NGNG
>"z".downto("a")‚͂Ȃ¢‚͉̂½ŒÌ‚Å‚·‚©�H

‚ ‚è‚Ü‚·‚½
0495ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
File.chown(nil, nil, "testfile") #=> 1
•Ï�X‚µ‚ĂȂ¢‚Ì‚É1‚ɂȂé‚͎̂d—l‚Å‚·‚©?
0496ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•Ï�X‚µ‚½�”‚Æ‚¢‚¤‚æ‚èchown(2)‚ª�¬Œ÷‚µ‚½�”‚ð•Ô‚·‚ñ‚¾‚Ë�B
0497ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>495 ƒ}ƒjƒ…ƒAƒ‹‚Æ�H‚¢ˆá‚Á‚½“®�삪Žd—l‚©‚Ç‚¤‚©’m‚肽‚¢‚Æ‚«‚Í
ruby-list‚©BTS‚ ‚½‚è‚Å�u‚¢‚½•û‚ª‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚Ì‚¤
ttp://www.ruby-lang.org/cgi-bin/ruby-bugs-ja
0498ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‘f�”ƒXƒŒ‚É�AC++‚̃R�[ƒh‚ðRuby‚ɕϊ·‚µ‚Ä‚­‚ê‚é�l‚ª‚¢‚é�B
Ruby‚Í‘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‚Ì–¼–³‚µ‚³‚ñNGNG
”nŽ­‚ɂ͕ª‚©‚ç‚È‚¢‚æ�B“–‚½‚è‘O‚¾‚¯‚Ç�B
0500ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>498
> 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
>>498
ƒlƒ^‚ÅŒ¾‚Á‚Ä‚¢‚é‚ñ‚¾‚낤‚¯‚Ç�A’x‚¢‚ÉŒˆ‚Ü‚Á‚Ă邿‚È‚ �B
‚à‚µ“¯“™‚¾‚Á‚½‚ç C++ ‚±‚»‰½‚Ì‚½‚߂̌¾Œê‚È‚ñ‚¾‚©‚í‚©‚ç‚ñ�B
0502ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>498
Perl ‚â Ruby ‚Å‚´‚Á‚­‚è�‘‚¢‚Ä“®‚­‚à‚Ì‚ª‚Å‚«‚½‚ç
C/C++ ‚É‚·‚邯‚¢‚¤ƒvƒ�ƒgƒ^ƒCƒsƒ“ƒOŠJ”­�B
0503ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>502
‚Ç‚ñ‚ȃ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
0504477NGNG
cols = [ "ID", "Name", "Born" ]
‚Æ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
>>504
‚»‚Ì‚­‚ç‚¢Ž©•ª‚Å�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
>>505
‹M•û‚Í—D‚µ‚¢ƒCƒ“ƒ^�[ƒlƒbƒg‚Å‚·‚Ë�B
0507ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>506�@ŽÀ‚Ícols‚ð”j‰ó‚·‚éã©
0508ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
cols‚ð‰ó‚µ‚½‚­‚È‚¢‚È‚ç

hoge = 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‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚¤‚¢‚â ljust ‚Á‚ĂƂ«‚Ç‚«Žg‚¤‚í‚è‚ɂ߂ñ‚Ç‚¢‚©‚ç�A
sprintf("_%s%d", str.ljust(6), i) ‚ª
sprintf("_%<6s%d", str, i) ‚Æ�‘‚¯‚邯‚¢‚¤‚̂͂ǂ¤‚¾‚낤
‚Æ�A‚Ó‚ÆŽv‚Á‚½�Bcjust ‚Í > ‚Ë�B%s ŒÀ’è‚©‚È�B
0510ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>509
‚ ‚ê‚Ε֗˜‚©‚à‚µ‚ê‚È‚¢‚¯‚ǂȂ­‚Ä‚à•Ê‚É�¢‚ç‚È‚¢‚©‚È
0511ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
each_with_index ‚ðŽg‚¤‚Æ
�@•‰�@‚¯�@‚½
‹C•ª‚É‚È‚é‚Æ‚«‚ª‚ ‚é�B
0512ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚ê‚æ‚è each_byte_with_index ‚ª‚È‚­‚ÄŽc”O‚ÉŽv‚¤‚±‚Æ‚ª�B
0513ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•K—v‚Ȃ猾‚í‚ê‚È‚­‚Ä‚à‚â‚Á‚Ă邯Žv‚¤‚¯‚Ç

module 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
>>513
‚±‚¤‚¢‚¤‚Ì‚ð�ê‚ ‚½‚è“I‚ɂȂñ‚Æ‚©‚·‚é‚ñ‚łȂ­‚Ä�A
Šù‘¶‚̃CƒeƒŒ�[ƒ^‚ð‚»‚Ì�ê‚Å‘g‚Ý�‡‚킹‚ç‚ê‚é˜g‘g‚ª‚æ‚¢‚È‚Æ
0515ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
irb(main):001:0> Math.log(-1.0)
NaN
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
e^(x*i) = cos(x) + sin(x)*i
‚Ìx‚Ƀ΂ð‘ã“ü‚·‚é‚Î�H
0517ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>515 narray.c ‚Å rb_require("complex") ‚µ‚Ă邩‚ç�B
narray ‚¶‚á‚È‚­‚Ä•W�€‚Ì complex.rb ‚ª’è‹`‚µ‚Ä‚é�B
0518515NGNG
>>516
‚»‚ê‚ðŒvŽZ‚·‚邯 NaN ‚Á‚Ă̂ɂȂé‚Ì�H
‚Â�[‚©�Acomplex ‚ª‰½‚Ȃ̂©‘S‘R‚í‚©‚Á‚Ă܂¹‚ñ(’p

‚ñ‚Å�A‚È‚ñ‚Å narray ‚ð“ü‚ê‚Ä Math ‚Ì‹““®‚ª•Ï‚Á‚½‚Ì‚©‚Æ
•sŽv‹c‚ÉŽv‚Á‚Ä‚½‚ç“à•”‚Å require 'complex' ‚³‚ꂽ‚©‚炾‚Á‚½
‚¨‘›‚ª‚¹‚µ‚Ü‚·‚½
0519ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>518 NaN ‚Í Not a Number ‚Ì—ª‚Å
•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‚Ì–¼–³‚µ‚³‚ñNGNG
>>512
iterate ‚·‚é’PˆÊ‚É byte ‚ª‚È‚¢ƒIƒuƒWƒFƒNƒg‚Í‘½‚¢‚ÆŽv‚¤‚¯‚Ç�B
0521ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>520 each_byte ‚¾‚¯‚¶‚á‚È‚¢‚Æ‚¢‚¤˜b‚Ȃ̂æ‚ñ
% 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‚Ì–¼–³‚µ‚³‚ñNGNG
‚ ‚ �AЍˆá‚¢‚µ‚Ä‚½�B
each Œnƒ�ƒ\ƒbƒh‚»‚ꂼ‚ê‚É _with_index ‚̃�ƒ\ƒbƒh‚à‚Ù‚µ‚¢‚Æ‚¢‚¤‚±‚Æ‚©�B
0523ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>409

> 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
>>523
Œ»�ó‚𓚂¦‚½‚ñ‚¾‚¯‚Ç�B
ˆ³�kƒ‹�[ƒ`ƒ“‚ƃtƒ@ƒCƒ‹ƒtƒH�[ƒ}ƒbƒg‚̂ǂ¿‚ç‚ðŽw‚µ‚Ä‚¢‚é‚Ì‚©žB–†‚¾‚Á‚½‚µ�B
0525ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>509
> ‚»‚¤‚¢‚â 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
>>525�@‚³‚ñ‚­‚·�I
’m‚ç‚ñ‚©‚Á‚½‚æ�B2.9.1 BSD ‚ɂ͂·‚łɂ ‚Á‚½‚炵‚¢�B1983”N‚¾�cŸT
‚à‚µ‚©‚µ‚ÄK&R1‚Ì� ‚©‚ç‚ ‚Á‚½‚Ì‚©

> rjust ?
‚µ‚Ü‚Á‚½ center ‚̂‚à‚肾‚Á‚½�B
0527ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>526
‚ ‚È‚½‚Í—ç‹V�³‚µ‚¢ƒCƒ“ƒ^�[ƒlƒbƒg‚Å‚·‚Ë
0528ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>526
‚Ü‚³‚©C‚Å‚¢‚¿‚¢‚¿strncpy()‚Æ‚©memset()‚Æ‚©Žg‚Á‚Ä‚½‚ñ‚¶‚á�c(ß„Dß;)

> > rjust ?
> ‚µ‚Ü‚Á‚½ center ‚̂‚à‚肾‚Á‚½�B
‚½‚µ‚©‚É’†‰›‘µ‚¦‚Íprintf‚ɂ͂Ȃ¢‚È�B‚Å‚à%>s‚͂₾‚È�B
0529ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>528�@
> ‚Ü‚³‚©C‚Å‚¢‚¿‚¢‚¿strncpy()‚Æ‚©memset()‚Æ‚©Žg‚Á‚Ä‚½‚ñ‚¶‚á�c(ß„Dß;)
‚»‚Ì’Ê‚è�B�À‚Á‚Ä‚«‚Ü‚·�B

> ‚½‚µ‚©‚É’†‰›‘µ‚¦‚Íprintf‚ɂ͂Ȃ¢‚È�B‚Å‚à%>s‚͂₾‚È�B
’†‰›‚»‚낦‚Í–Å‘½‚É‚â‚ç‚È‚¢‚©‚ç‚È‚­‚Ä‚à‚¢‚¢‚â�B
0530ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚È‚ñ‚©‹àŒõ‚Á‚Ä–{‚ð�‘‚¢‚Ä‚é‚Ý‚½‚¢‚¾‚È�B
‚»‚ê‚Å‚ ‚¿‚±‚¿‚ÅŽ¿–₵‚Ü‚­‚Á‚Ä‚é‚炵‚¢�B
‚»‚ñ‚È‚ñ‚Å�o”łł«‚é‚Ì‚©�H
�o”ÅŽÐ‚à‰½�l‚¦‚Ä‚é‚ñ‚¾‚©�B
0531ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
40‰ß‚¬‚Å•Ò�WŽÒ‚Ƃ͎v‚¦‚ñ‚ ‚Ì•¶�Í‚¾‚µ�A
CGI‚Ì–{�‘‚±‚¤‚Á‚Ă̂ÉCGI.RB‚Ì�ìŽÒ‚à‚µ‚ç‚ñ‚Æ‚Í�B

0532ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>529
> ’†‰›‚»‚낦‚Í–Å‘½‚É‚â‚ç‚È‚¢‚©‚ç‚È‚­‚Ä‚à‚¢‚¢‚â�B
‚È‚ñ‚¾�B%^d‚Á‚Ä�ì‚Á‚Ă݂½‚Ì‚É�B
0533ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>532
‚¤�[‚ñ�A‚Â�[‚©•�‚Æ‹ï‚ÌŠï‹ô‚ªˆá‚¤‚Æ1ƒJƒ‰ƒ€•ª‚̉E�¶‚ª•s’肾‚µ�B
‚Ü‚ ‚Ç‚Á‚¿‚©‚Á‚Ä‚±‚ƂɌˆ‚ß‚é‚킯‚¾‚¯‚Ç�B
0534ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>533
‚»‚ê‚Í’P�ƒ‚É�¶‚ªwidth/2‚É‚µ‚½‚ñ‚Å‚â‚â�¶‚æ‚è�B
0535ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚‚¢‚Å‚¾‚©‚ç“\‚Á‚Æ‚­�B

begin-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
>>535
‚·‚°�[�B‚¹‚Á‚©‚­‚¾‚©‚ç commit ·ÎÞÝ
0537ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>536
‚Ü‚Â‚à‚Æ‚³‚ñ‚É‚©‚¯‚ ‚Á‚Ä‚­‚ê�B
0538ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
˜R‚ê‚Å‚·‚ç–Å‘½‚ÉŽg‚í‚ñ‚̂Ō¾‚¢‚­‚é‚߂鎩�M‚È‚µ
ƒgƒ€ƒ\�[ƒ„‚̂ӂè‚ð‚µ‚Ä—v‹�‚µ‚Ä‚­‚ê‚é�l•å�W
0539ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ‰ƒNƒ_–{ˆø‚Á’£‚肾‚µ‚Ä�uƒtƒH�[ƒ}ƒbƒg�v‚𒲂ׂĂ݂½‚ç�A’†‰›‘µ‚¦‚Í'^'‚¶‚á
‚È‚­‚Ä'|'‚¾‚Á‚½�B‹L‰¯ˆá‚¢�B
‚µ‚©‚µ�Aperl‚Ìwrite‚Á‚ÄŽg‚Á‚½‚±‚ƂȂ¢‚È‚Ÿ�B
0540ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚Í“ú–{Œê‚ɑΉž‚µ‚½�³‹K•\Œ»�B
vim‚Ì:rubydo‚ȂǂÅ�A�u‚Ђ炪‚ÈŽO•¶Žš‚Ì�s‚¾‚¯�Á‚µ‚½‚¢�v‚Æ‚«‚Á‚Ä
:rubyd gsub(/^\S{,3}$/,"")
Œ©‚½‚¢‚ÈŠ´‚¶‚Å�A�o—ˆ‚È‚¢‚ñ‚Å‚µ‚傤‚©�H$KCODE="e"‚Ý‚½‚¢‚È‚à‚Ì‚ª•K—v‚Å‚·‚©�H
0541ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>540
/^\S{,3}$/ ‚ÍEUC-JP”ñ‹ó”’�‚�X3•¶Žš‚¾‚¯‚©‚ç‚È‚é�s‚Ƀ}ƒbƒ`ŽC‚é
0542ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>541ŠÔˆá‚¦‚½
/^\S{,3}$/e ‚ÍEUC-JP”ñ‹ó”’�‚�X3•¶Žš‚¾‚¯‚©‚ç‚È‚é�s‚Ƀ}ƒbƒ`ŽC‚é
0543540NGNG
>>541
‚È‚Ê�H

‚¶‚á‚ �A’P�ƒ‚É
:rubyd gsub(/^[‚ -‚ñ]{,3}$/,"")
‚Á‚Ä‚¢‚¤Ž®‚ªƒRƒ“ƒpƒCƒ‹‚³‚ê‚邿‚¤‚È
‚’‚•‚‚‚™‚ÌŠg’£‹@”\‚Á‚Ä‚²‘¶’m‚Å‚·‚©�H

’m‚Á‚Ä‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢�BŒäŠè‚¢‚µ‚Ü‚·�B�¢‚Á‚Ä‚¢‚Ü‚·�B
0544ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>543

:ruby $KCODE='e'
:rubyd gsub(/^[‚ -‚ñ]{,3}$/,"")
0545ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ �[‚ñ
0546ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
[‚Ÿ-‚ñ]
0547ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
SE‚Ì—‘‚Å‚·‚ª�A
\x0D\x0A
‚Á‚ĉ½‚ð•\‚·ƒR�[ƒh‚©’¼‚®‚ɂ킩‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ‚©�H
0548ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Í‚¢
0549ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Þ‚µ‚ë�A‚»‚Ì‹æ“_‚ð‰½‚Ì‘ÌŒn‚ʼnðŽß‚·‚ׂ«‚©‚ðŽ¦‚µ‚ĂȂ¢‚ ‚½‚肪–â‘è�B
0550perl�~–[NGNG
perl‚Å1�s‚ðn�s‚ɕϊ·‚·‚éƒXƒNƒŠƒvƒg�‘‚¢‚½‚Å‚·‚ª�A
rubyƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
coln=3;
while gets
chop;
if ($. % coln != 0)
sub(/\r/,"");
printf "%s\t",$_;
else
printf "%s\n",$_;
end
end
print "\n";
0552ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ ‚Í�[‚ñ
0553ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚à‚¤�\•ªŒk’J‚̈Ӗ¡—�‰ð‚µ‚½‚Ì‚Å
warning: parenthesize argument(s) for future version
‚Á‚Ă̂ª‚¢‚¿‚¢‚¿ƒEƒUƒC‚ñ‚Å‚·‚¯‚Ç�A‚±‚̃�ƒbƒZ�[ƒW�Á‚¹‚Ü‚·‚©�H
0554ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ž©•ª‚Ì�‘‚¢‚½ƒXƒNƒŠƒvƒg‚𒼂·‚©�A
ƒ‰ƒCƒuƒ‰ƒŠ‚̃\�[ƒX‚𒼂·‚©�A
Ruby ‚̃\�[ƒX‚ð‚¢‚¶‚Á‚ÄŒx��‚ð�o‚È‚­‚·‚é�B
0555ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>553
–{“–‚É—�‰ð‚µ‚½�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
“°‚Å‚à‚¢‚¢‚±‚Æ‚¾‚ª�A�Å‹ß�A“÷‘ÌŽdŽ–‚âƒXƒ|�[ƒcŒã‚ÉPC‚Ì‘O‚É�À‚Á‚ÄRuby‚Æ—V‚Ô�uŠÔ
‚ªŽŠ•Ÿ‚ÌŽžŠÔ‚ƂȂè‚‚‚ ‚é�B
‚¢‚‚à‚̂悤‚ÉŽdŽ–ƒTƒ{‚è‚‚Â�ARuby�G‚肾‚·‚Ƃǂ¤‚àŒã‚ë‚ß‚½‚­‚Ä�A—JŸT‚ɂȂé‚Ì‚Å
‚¢‚©‚ñ‚ª�c�c
0557ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby_talk‚Ì�Å�V‚ÌƒŠƒXƒgruby-talk/53601-53800.shtml#latest
‚Ý‚½‚¢‚È‚à‚Ì‚ðŽæ“¾‚·‚é‚ɂ͂ǂ¤‚¢‚¤•û–@‚ª‚ ‚è‚Ü‚·‚©�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
0558553NGNG
>�l‚Ì�‘‚¢‚½ƒ‰ƒCƒuƒ‰ƒŠ‚ªŒ´ˆö‚È‚ç�ìŽÒ‚É–â‚¢�‡‚킹‚Ă݂é�B
>‚»‚Ì�ìŽÒ‚̎肪‹ó‚¢‚½‚牽‚Æ‚©‚µ‚Ä‚­‚ê‚é‚©‚à‚µ‚ê‚È‚¢�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
>>557
‘Š‘ÎURL‚¾‚©‚çURI.extract‚ł͂Ƃê‚È‚¢‚Ë�B‚Æ‚È‚é‚Æ�³‹K•\Œ»‚ª“TŒ^“I‚È‰ðŒˆ‚©‚È�B
HTML‚̉ð�̓c�[ƒ‹‚ÍRAA‚É‚¢‚­‚‚©“]‚ª‚Á‚Ă邩‚ç‚»‚ê‚ðŽg‚¤‚Æ‚©�B
0560ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>558
‚±‚Ì�Û�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
‚ ‚ñ‚Ü‚µŒ©‚ĂȂ¢‚¯‚Ç�A–á‚Á‚½‚â‚ÂŽŽ‚µ‚Ü‚µ‚½‚ª�A
‰½‚É‚à‚¨‚«‚Ü‚¹‚ñ‚Å‚µ‚½�B
0562ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>561
‚¶‚á�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
>>558
> 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
0564562NGNG
>>563
> ˆê‰ž1.7“Y•t‚̂͑S•”�C�³‚µ‚½‚Í‚¸�B

‚¢‚â�A“Y•t•¨ˆÈŠO‚̘b
0565558NGNG
—L–¼‚Ç‚±‚ë‚Å‚Í
migemo
rdindex
‚ð�C�³‚µ‚Ü‚µ‚½�B

ˆá‚¤‰ðŒˆ–@‚à‚ ‚Á‚½‚±‚à‚µ‚ê‚Ü‚¹‚ñ‚ª�c�c�D
0566ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¿�A�~‚Å‚·‚݂܂¹‚ñ�B
‚T‚R‚T‚Á‚Ăǂ¤‚â‚Á‚ăfƒR�[ƒh‚·‚é‚ñ‚Å‚·‚©�H

�o—ˆ‚È‚©‚Á‚½�B
0567562NGNG
>>566
begin-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
>>567
> ‚±‚̃pƒbƒ`‚ª—¬‚ê‚½Žž‚ÌCVS�æ’[‚ɂ͓–‚Ă邱‚Æ‚ª‚Å‚«‚½�B�¡‚ÍŠm”F‚µ‚ĂȂ¢�B
sprintf.c‚͕ςí‚Á‚ĂȂ¢‚©‚ç‘å�ä•v�B
0569ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>530
ƒ�ƒ‹ƒ}ƒK‚Å–{‚Ì‚±‚Æ�‘‚¢‚Ä‚ ‚Á‚½‚æ�B
0570ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>569
‚¨‚¢‚¨‚¢±Ú‚ð‚»‚Ì‚Ü‚Ü–{‚É‚·‚é‚‚à‚è‚©‚æ�I

http://www.freeml.com/ctrl/html/MessageListForm/[email protected]

0571ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒfƒWƒJƒ�‚ÅŽg‚í‚ê‚Ä‚¢‚é Exif ƒtƒ@ƒCƒ‹‚̃wƒbƒ_‚ðˆµ‚¤‚悤‚È
ƒ‰ƒCƒuƒ‰ƒŠ‚Æ‚©‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚傤‚©�H
0572ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>571
RAA‚Å�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
>>572
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�B
0574ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>572
0xfa.com‚Ìdns‚ª—Ž‚¿‚Ä‚é?
0575ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒtƒ@ƒCƒ‹‚Ì’†�g‚ð•Ï�X‚µ‚Ä�AEUC‚É‚·‚é•û–@‚ÍŠÈ’P‚Å‚·‚ª�A
Windows‚Å�ì‚ç‚ꂽ“ú–{Œêƒ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


0576sageNGNG
“ú–{Œê‚̃tƒ@ƒCƒ‹–¼Žg‚¤‚Á‚Ă̂à‚Ç‚¤‚©‚ÆŽv‚¤‚ª�A

x = "a"
Dir.glob("*") do |file|
File.rename("file","x")
a.succ!
end

‚Æ‚©‚ŃAƒXƒL�[‚È–¼‘O‚ɕς¦‚邯‚©?
0577to:sageNGNG
‚ �A‚²‚ß‚ñsage‚»‚±‚È‚Á‚½
0578bloomNGNG

http://homepage.mac.com/bloombloom/
0579ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
576,577‚Å‚·‚ª�E�E�E�B
‰½‰ñ‚à‚·‚ñ‚Ü‚»�B‹v�X‚É�‘‚«�ž‚ñ‚¾‚̂ł·‚Á‚©‚èsage•û–Y‚ê‚Ä‚½�B
0580ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
perl‚Ìithread‚̂悤‚È‹@”\‚ðruby‚Í�«—ˆ“I‚É“±“ü‚·‚é—\’è‚Í‚ ‚é‚ñ‚Å‚·‚©�H
‚ ‚Æ1.8‚ÅŽÀ‘•‚³‚¹‚é—\’è‚ÌM17N‚Ƃ͂Ȃñ‚Å‚·‚©�H
0581rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
Ž€‚Ë®”nŽ­
0582ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
0583ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>575 ˆÓ–¡‚̓}ƒjƒ…ƒAƒ‹Šm”F‚µ‚é
$ 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
>>580
Œ¾ŒêƒŒƒxƒ‹‚Åm17n‹@”\‚ª1.8‚É“o�ê‚·‚é—\’è‚Í–³‚¢‚Í‚¸
ithread‚Á‚Ăǂñ‚È‚Ì�H
0585ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
perl‚ÌPerlIO‚̂悤‚È‹@”\‚ðruby‚Í�«—ˆ“I‚É“±“ü‚·‚é—\’è‚Í‚ ‚é‚ñ‚Å‚·‚©�H
0586rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
•³Œ¾Œê‚É�õ‚Ü‚é•K—v‚È‚ñ‚Ä‚Ë�[‚æ�B’á”]–ì˜Y
0587ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>585
—\’è‚Í‚ ‚é‚ªŽžŠú‚Í–¢’è
0588ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
[]~$ perl -pe 's/(.)/\1\t/g;' ahoki
a 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
>>580
�„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‚Ì–¼–³‚µ‚³‚ñNGNG
>>588
ruby -pe 'gsub(/(.)/, "\\1\t")'
0591ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>589
> IO/File ƒNƒ‰ƒX‚Å�\•ª‚¶‚á‚ñ�B
PerlIO‚Ý‚½‚¢‚È‚à‚̂Ƃ¢‚¤‚Ì‚Ístdio‚Ɉˑ¶‚µ‚È‚¢IO‚ð�ì‚é˜b‚ÆŽv‚¤‚ª�H
ƒXƒPƒWƒ…�[ƒ‹‚à‚³‚ê‚Ä‚¢‚È‚¢‚ª�«—ˆ‚»‚¤‚Ȃ邱‚ÆŽ©‘͉̂½“x‚à‚¢‚í‚ê‚Ä‚¢‚é�B
‚©‚È‚è‚Ì‘åŽdŽ–‚ɂȂé‚̂ŎÀŒ»‚µ‚Ä‚¢‚È‚¢‚¾‚¯�B
0592rubyist@ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
”nŽ­‚©�BPerlIO‚È‚ñ‚Äsfio‚Æstdio‚̃‰ƒbƒp‚ɉ߂¬‚È‚¢‚¾‚ë
•³Œ¾Œê‚ɂ͂¨Ž—�‡‚¢‚¾‚ª‚È�B
0593ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¢‚â�ARuby‚Í•³Œ¾Œê
0594ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>591
‚È‚é‚Ù‚Ç—¹‰ð�B
’P‚É IO Œn‚ÌŠÖ�”‚ð�Ä•Ò�¬‚µ‚Ä‚¢‚邾‚¯‚Ȃ̂©‚ÆŽv‚Á‚½�B
0595ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>580
‚à‚Æ‚à‚Æ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‚Ì–¼–³‚µ‚³‚ñNGNG
‚¨‚È‚ç‚Õ�[��‚R
0597ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>595
ƒuƒ�ƒbƒLƒ“ƒO‚h�^‚n‚¾‚ÆŽ~‚Ü‚é‚Á‚ăAƒŒ‚Ë�B
0598rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
‚¨‘O‚ç�Aruby‚̈«ŒûŒ¾‚¤‚Æ�³’m‚¹‚ñ‚¼
0599sageNGNG
>>597
Ž~‚Ü‚é�ê�‡‚Í‚ ‚邪�Aƒuƒ�ƒbƒLƒ“ƒOI/O ‚ł͂Ȃ¢�B

‚³‚Ÿ�A’T‚µ‚Ă݂悤�I�I
0600ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚â‚ê‚â‚ê�A�urubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚Ü�v‚̃nƒ“ƒhƒ‹‚Í‚·‚Á‚©‚è“�‚ç‚ê‚¿‚Ü‚Á‚½‚È‚Ÿ�B
0601ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
M17N‹@”\‚Ƃ͋ï‘Ì“I‚ɉ½‚È‚ñ‚Å‚·‚©�B
0602ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>601
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/17907
0603ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�@�@�@�@ žH
�@�@�@ �@| | �@ �È�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
�@�@�@�@ žH
�@�@�@ �@| | �@ �È�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>605�@CLU‚âSmalltalk�AEiffel�ASather�APython‚Ì—§�ê‚Í�H
0607ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�@�@�@�@ žH
�@�@�@ �@| | �@ �È�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‚Ì–¼–³‚µ‚³‚ñNGNG
"Pj42MDikz1Blcmyk4lJ1Ynmk4qS3pOmkyqSkCg==".
unpack("m").
display
0610ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚ÉscplitƒRƒ}ƒ“ƒh‚Ý‚½‚¢‚ÈŽdŽ–‚³‚¹‚é‚ɂ͂ǂ̂悤‚É‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©�H

Kernel#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
0611610NGNG
—ႪƒAƒz‚¾‚Á‚½�c�c
% csplit bigfile "/^2002.[0-9]+.[0-9]+/" {100}
‚Å‚µ‚½�B

0612ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
byte code interpriter‚É‚·‚ê‚ÎŽÀ�s‘¬“x�オ‚邯Žv‚¤‚ñ‚¾‚¯‚ǂȂ 
0613ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚µ‚Á‚‚à�[‚ñ�B


‚݂Ȃ³‚ñ‚ÍŽ©•ª—p‚É’è‹`‚µ‚½�@def�`end�@‚΂Á‚©
“ü‚Á‚½ƒtƒ@ƒCƒ‹‚ð‰½�ˆ‚É‚¨‚¢‚Ä�A‚ǂ̂悤‚ÉŽg‚Á‚Ă܂·‚©�H

0614ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>613
site_ruby‚ɲݽº
0615ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>612
‚»‚¤�l‚¦‚Ä prototype ‚ð�ì‚Á‚½ŠO�‘�l‚ª‚¢‚邿�B
http://sourceforge.net/projects/rubyvm
0616ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>613
export RUBYLIB=~/lib/ruby
0617ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>609
"pMSkq6SopPOkwKToobykwKGipNKk0qTS\n"
0618ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>617
"abbbbbbbbbbcdddddddddefffffffghhhhhh\n"
0619ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>612
‰´‚̓lƒCƒeƒBƒu‚Í‚©‚¹‚½‚¢�B
0620ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚±‚Ísage�i�s‚©�B

>>619
eval Œn‚͂ǂ¤‚·‚é‚Ì�H
0621ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
%q[9/CXV,3<*YJVCYYNTXX&,XX&CXX&+XX**"@``]
0622ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–¾‚ç‚©‚É‚·‚êˆá‚¢‚¾‚¯‚Ç�A
‚Ü‚Â‚à‚Æ‚³‚ñ‚ª‚‚©‚Á‚Ä‚½ƒL�[ƒ{�[ƒh”z—ñ‚Á‚ĂȂñ‚¾‚Á‚¯�H

‚Ü‚¦�AŽGŽ�‚Å�Љ‚ꂽ‚¯‚Ç�A–¼‘O‚í‚·‚ê‚¿‚á‚Á‚½�B
0623ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>622
http://pc3.2ch.net/test/read.cgi/pc/1011422119/838
http://pc3.2ch.net/test/read.cgi/pc/1011422119/841
0624ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚̂Ȃ©‚̂ǂê‚Å‚µ‚傤‚©�H
0625ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�@�@�@ �È�È�@�I�@�@¶ÞÊÞ¯! �^�P�P�P�P�P�P�P�P�P
�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
>>620
�í�œ‚·‚é�B
0628ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ttp://www.hokto-kinoko.co.jp/chokusoubin/music/song.rm

�@‚«‚Ì‚±‚Á‚Ì‚Á‚±�[‚Ì‚±�@�@‚°‚ñ‚«‚Ì‚±‚Á�ô

�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ƒÁ �Ü �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
0629575NGNG
>>576

576‚³‚ñ�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
0630575NGNG
>>576

576 ‚³‚ñ‚Ç‚¤‚à—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

0631575NGNG
‚ �A‚ ‚ê�H�H�I�I�I
‘O‚̃„ƒc�A�‘‚«�ž‚Ü‚ê‚Ä‚½‚ñ‚¾�c�c�B
0632ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚̈ȉº‚ÌŒ»�Û‚Í—�‰ð‚Å‚«‚Ü‚¹‚ñ�B

>> 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‚Ì–¼–³‚µ‚³‚ñNGNG
$ruby -Ke -rjcode -e 'a="aa‚�‚�‚‚‚‚bb"; puts a.tr("a-z","‚�-‚š")'
0634ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>630
>>583
0635ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
��(�E�Í�E�Í�E) Ì߯Ëß×Îß�`
0636ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>629
ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
age
0638ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby-gtk‚ÅŠeƒ�ƒ\ƒbƒh‚Ì�à–¾‚ª‚ ‚éƒ}ƒjƒ…ƒAƒ‹‚Á‚Ä–³‚¢‚Ì�H
0639rubyist�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
‚»‚ê‚®‚ç‚¢C‚ÌAPI‚©‚ç�„‘ª‚µ‚ë”nŽ­
0640ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚â‚Á‚Ï�A–³‚¢‚Ì‚©�B
0641ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
C‚ÌAPI‚©‚ç�„‘ª‚µ‚Ä’T‚µ‚Ä‚½ŠÖ�”‚Í signal_emit_by_name() ‚Á‚Û‚¢‚ñ‚¾‚ª�A
ŠÌ�S‚ÌRuby/Gtk‚ɃCƒ“ƒvƒŠƒ�ƒ“ƒg‚³‚ê‚ĂȂ©‚Á‚½ã©
0642ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Â�[‚©C‚Ìgtkƒ‰ƒCƒuƒ‰ƒŠ‚»‚̂܂܃��[ƒh‚Å‚«‚È‚¢‚Ì�H
0643ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Gtk::Object#signal_emit_by_name ‚¶‚á‚È‚­‚Ä�H
ruby-gtk-0.30
0644ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>642
Ruby/DL Žg‚¦‚΂ł«‚邿�B
Œƒ‚µ‚­–Ê“|‚¾‚¯‚Ç�B
0645ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>643
0.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‚Ì–¼–³‚µ‚³‚ñNGNG
rp-pppoe-3.5‚ð./go‚·‚邯pppoe.o‚ŃGƒ‰�[‚ª‚Å‚Ämake‚Å‚«‚È‚¢‚̂ł·‚ª�Aƒo�[ƒWƒ‡ƒ“‰º‚°‚ê‚Î
make‚Å‚«‚é‚̂łµ‚傤‚©�B
0647ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>646
”ˆႢ‚Å‚µ‚½�A�A�A
0648ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ñ‚È‚±‚Æ‚’‚•‚‚‚™‚łł«‚Ü‚·‚©�H

“à—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
>>648
#! /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
emacs‚Ìruby-mode‚ÅŽ©“®ƒCƒ“ƒfƒ“ƒg‚ð‚³‚¹‚½‚¢‚̂ł·‚ª
(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
>>650�@Šm”F‚¾‚ª‚»‚Ì.emacs‚Å C-x C-f foo.rb ‚µ‚ăfƒtƒHƒ‹ƒgƒL�[ƒoƒCƒ“ƒh‚Å
‰º‚Ì�š‚̈ʒu‚ÅC-j‚ð’@‚¢‚Ä‚à�¡‚̈ʒu‚ɃJ�[ƒ\ƒ‹‚ª—ˆ‚È‚¢?
—ˆ‚È‚¢‚È‚ç C-hkC-j ‚ł͉½‚Æ�o‚é?

if a�š
�@�¡
0652ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>651‚³‚ñ‚ÌŽw“E‚Ç‚¨‚è‚É‚·‚ê‚΃J�[ƒ\ƒ‹‚Í‚»‚̈ʒu‚É‚«‚Ü‚·�B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B
0653648NGNG
>>649
wrap‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹–¼‚Æ‚µ‚Ä
$ wrap uniq url.txt
‚Ý‚½‚¢‚ÉŽg‚¤‚ñ‚Å‚·‚æ‚Ë�H

ŽÀ�s‚µ‚Ä‚à�Aurl.txt‚Í•Ï�X‚³‚ê‚ĂȂ©‚Á‚½‚Å‚·‚æ�B

0654ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‹àŒõruby-list‚Å‘å–\‚ꂾ‚È�B

0655ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>653
‚Ü‚¸ƒ}ƒjƒ…ƒAƒ‹ˆø‚«‚È‚ª‚çƒvƒ�ƒOƒ‰ƒ€‚ðŠ®‘S‚É—�‰ð‚µ‚Ăق·‚¡
0656!649NGNG
>>653
‚à‚µ‚©‚µ‚ăvƒ�ƒOƒ‰ƒ€“ǂ߂Ȃ¢�l�H

ŠÂ‹«•Ï�” MY_WRAPPER_OVERWRITE ‚ð’è‹`‚µ‚Ä‚¨‚­‚©�A
if $? == 0 and ENV["MY_WRAPPER_OVERWRITE"]
‚ð
if $? == 0
‚É‚·‚ê‚΂¢‚¢�B
0657ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‹àŒõ�C‚Ç‚¤‚µ‚Ä‚ ‚»‚±‚܂ŃAƒz‚ɂȂê‚é‚Ì?�^�«?
‚é‚Ñ‚«‚¿‚̌딚‚à‚©‚È‚èwarata
0658ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>551
“®‚©‚È‚¢‹æ“à�H
0659ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>658
’P‚É >>550 ‚ð–|–󂵂½‚¾‚¯‚Ý‚½‚¢‚¾‚©‚ç“ü—͂ɂæ‚é‚ñ‚Å‚Í�H
0660ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚Ì‚½‚߂Ȃ玀‚Ë‚é!
0661ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>‚é‚Ñ‚«‚¿‚̌딚‚à‚©‚È‚èwarata

‚Ç�@‚¤�@‚©�@‚ñ�@‚Å�@‚·
0662ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
“ñ�l‚Í•t‚«�‡‚Á‚Ä‚é‚Ì�H


0663ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/54881
‚±‚ê‚ÅŒ¾‚í‚ê‚Ä‚¢‚é�A
�bnew regular expression engine (REE)
‚Á‚Ä‹SŽÔ�H
0664ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>663
‚»‚¤‚È‚ñ‚¿‚Ⴄ�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‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby –{‘Ì‚Ì Windows ƒTƒ|�[ƒg‚Í‚©‚È‚è�ϋɓI‚É�s‚È‚í‚ê‚Ä‚¢‚邯Žv‚¤‚¯‚Ç‚Ë�B
VisuaRuby ‚̂悤‚È GUI ƒ‰ƒCƒuƒ‰ƒŠ‚ª‚à‚¤�­‚µ‚±‚È‚ê‚Ä‚­‚邯‚¢‚¢‚Ì‚©‚È‚ �B
0666ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ �[ WideStudio ‚ª Ruby ‚â Python ‚ɑΉž‚µ‚½‚Ë�B
http://www.zoi.to/~zoi/widestudio/ml/200205-/msg00690.html

Windows ‚ɑΉž‚µ‚½‚ç‚¿‚å‚Á‚ÆŽg‚Á‚Ă݂邩�B
0667ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚ÍWin�~‚È‚ñ‚©‚ÉŒ}�‡‚·‚é•K—v‚͂Ȃ¢‚Ë�B
‚È‚ñ‚©‰˜‚ê‚Ä‚¢‚­‚悤‚È‹C‚ª‚µ‚ÄŒ™‚¾‚µ�B
0668ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>667
GUI“Æ—§‚Á‚Ä‚±‚Æ‚©�H
0669ruby‚Å–|–󂷂邯‚Ç‚¤‚È‚é‚Ì�HNGNG


@sorted_by_mtime=
 map{$_->[0]}
 sort{$a->[1] <=> $b->[1] }
 map{ [$_, -M $_ ] }
 @files;
0670‚é‚Ñ‚«‚¿•³NGNG


irbsh
‚ð�@æÈ�@‚µ�@‚Ä�@‚­�@‚¾�@‚³�@‚¢�@�B




0671ruby�u‚É�v–|–󂵂½NGNG
>>669
sorted_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
http://ruby-lang.org/ja/ml-topics.html
‚Ì
�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>672
http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=ML+Topics
0674ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>672
http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=ML+Topics
0675ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¤‚¤�A“ñ�dƒŒƒXƒXƒ}ƒ\�c�B
0676ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
def strip_headers?
@strips;
end;

ƒ\�[ƒXŒ©‚Ä‚½‚ç�ÅŒã‚É?‚ª‚‚¢‚Ä‚é‚ñ‚Å‚·‚¯‚Ç‚±‚ꉽ‚Å‚·‚©�H
0677ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>676
Ruby‚ł̓�ƒ\ƒbƒh‚Ì–¼‘O‚ÉŽg‚¦‚é•¶Žš‚Ì’†‚É�u?�v‚ª‚ ‚è‚Ü‚·�B
‚¨‚ê‚Æ‚µ‚Ă͂¢‚¿‚¢‚¿ƒZƒ~ƒRƒ�ƒ“‚‚¯‚Ä‚é‚Ì‚ª‹C‚ɂȂé�B
0678ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
=‚Æ‚©+‚Æ‚©‚àŽg‚¦‚é‚Ì‚à‚·‚²‚¢‚ÆŽv‚¤�B

>>664
http://www.rubycolor.org/r/200211a.html#05
‚¾‚»‚¤‚Å‚·‚æ�B
0679676NGNG
>>677-678
‚ ‚è‚è�B
‰½‚©•¶–@‚©‚ÆŽv‚Á‚ă}ƒjƒ…ƒAƒ‹“Ç‚ñ‚ł܂·‚½�B
?‚Æ‚©‚¾‚ÆŒŸ�õ‚à–ð‚É—§‚½‚È‚¢‚悤(�L¥ƒÖ¥`)¼®ÎÞ°Ý

�„ ‚¨‚ê‚Æ‚µ‚Ă͂¢‚¿‚¢‚¿ƒZƒ~ƒRƒ�ƒ“‚‚¯‚Ä‚é‚Ì‚ª‹C‚ɂȂé�B
‚»‚¤‚¢‚¦‚ΑS•”‚ɃZƒ~ƒRƒ�ƒ“‚ª‚‚¢‚Ä‚é�B
‚È‚ñ‚Å‚¾‚ë�E�E�E�B
0680rubyist@ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
“–‚è‘O‚Ì‚±‚Æ‚ð�¡‚³‚ç‚Å‚·‚ª�ARuby‚Í�A‚·‚΂炵‚¢Œ¾Œê‚Å‚·�B
‚Æ‚±‚낪�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
>>677
? ‚̂ق©‚É ! ‚àŽg‚¦‚Ü‚·‚ª�A‚±‚ê‚ç‚̓�ƒ\ƒbƒh–¼‚Ì––”ö‚É‚µ‚©Žg‚¦‚È‚¢‚Å‚·‚æ‚Ë�H
0682ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>681
‚»‚Ì’Ê‚è
0683ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>680
Ru..Why? �¡‚È‚ñ‚Ä‚¢‚Á‚½‚ñ‚¾‚¢�HRPG�H
0684ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>681
? ‚Í 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
>>678
Œ‹�\‚±‚̃XƒŒ�A�F‚ñ‚È�l‚ÉŒ©‚ç‚ê‚Ä‚¢‚é‚Ì‚Ë�c�B
‚ ‚Ü‚è�A‰ºŽè‚È”­Œ¾‚Å‚«‚ñ‚È�c�B
0686ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>684
�„‚½‚¾‚µ�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
>>686
!‚Í‚â‚âŠëŒ¯‚ȃJƒzƒŠ‚Ì‚·‚é‚à‚̂ɂ‚¯‚é
0688ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
“Ç‚ñ‚¾‚çƒrƒbƒNƒŠ‚³‚¹‚ç‚ê‚éƒ�ƒ\ƒbƒh‚É‚Í�I‚ð‚‚¯‚é
0689ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚æ‚­‚í‚©‚ñ‚È‚¢ƒ�ƒ\ƒbƒh‚É‚Í?‚ð‚‚¯‚Ä�A’è‹`‚Ì�ÅŒã‚Étrue‚Æ‚¢‚ê‚é�B
0690ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>687
eval!
0691ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
exit!‚àŠëŒ¯‚ȃJƒzƒŠ�`ƒ“

‚‚©�A�ŋ߂Í!‚łȂ¢ƒ�ƒ\ƒbƒh‚à‘¬‚­‚È‚Á‚Ä‚«‚Ä‚¢‚Ä�A
Œã‚ÍGC‚ð‰ü—Ç‚µ‚½‚ç�A
!‚ȃ�ƒ\ƒbƒh‚Ì‘¬“x–ʂ̃�ƒŠƒbƒg‚ª‚Ù‚Æ‚ñ‚Ç–³‚­‚È‚é‚Á‚Ä•·‚¢‚½‚ñ‚¾‚¯‚Ç�A
‚Ù‚ñ‚Æ�H
0692ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>691
‚Ü‚Ÿ�A–ÚŽw‚µ‚Ă͂¢‚é�B

‚¿‚å‚Á‚ƃP‚Ì�¶‚¦‚Ä‚éƒ�ƒ\ƒbƒh‚É‚Í!�B
0693ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby-list‚Å
ruby2‚ÆVM‚̘b‘è‚â‹c˜_(�H)‚ð�­‚µ“Ç‚ñ‚ÅŒ©‚½‚¢‚̂ł·‚ª�A
‚È‚ñ‚©ƒL�[ƒ��[ƒh‚ªˆø‚Á‚©‚©‚ç‚È‚¢‚ñ‚Å‚·‚¯‚Ç‚§�[

‚È‚ñ‚Æ‚¢‚¤ƒL�[‚ÅŒŸ�õ‚·‚ê‚΂¢‚¢‚̂łµ‚傤�H

0694ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Rite

list ‚ł͂قƂñ‚ǘb‘è‚ɂȂÁ‚Ä‚¢‚È‚¢‚æ�[‚È�B
1.x Œn‚ðŒÍ‚ç‚·•û‚ª—D�æ‚Ȃ̂©‚È�B
0695ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
list‚ÅŠJ”­”Å‚Â�[‚©–¢”­•\”ł̘b‘肪�­‚È‚¢‚̂͂µ‚©‚½‚È‚¢‚̂łÍ�H
dev‚©talk‚Ö�s‚«‚È‚³‚ê�„693
0696ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚q‚•‚‚‚™‚Í�‘�ЂÌ�”‚ł͂o‚…‚’‚Œ‚ð’´‚¦‚½�I�I�I�I�I�I�I
–œ�Î�I�I�I�I�I�I�I�I�I�I‚P
0697ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>696
’´‚¦‚Ă܂¹‚ñ�BˆÈ�ã�B
0698ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•ʂɒ´‚¦‚È‚­‚Ä‚¢‚¢‚©‚ç�A—ÇŽ¿‚Ì–{‚ð�o‚µ‚Ä—~‚µ‚¢‚à‚Ì‚¾�B
RHG‚Æ‚©‰¤“¹•҂ɂ͊ú‘Ò‚µ‚Ä‚é‚ñ‚¾‚ª�B

‹àŒõ‚ªŠÖ‚í‚Á‚Ă邯Žv‚¤‚ÆŸT�B
0699ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�­‚È‚­‚Æ‚à‹àŒõ‚ª�‘‚¢‚½–{‚̓JƒEƒ“ƒg‚µ‚È‚¢‚Å‚­‚ê�B
0700ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
RHG‚Æ‚Í�H

‚ ‚Ù‚ÈŽ¿–â�AƒXƒ}ƒ\
0701ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‹àŒõ‚Á‚Ä‚»‚ñ‚ȂɃwƒ^ƒŒ‚Ȃ̂©�H
‚»‚ÌŒê˜^‚ð‹³‚¦‚Ä—~‚µ‚¢‚ñ‚¾‚ª�B
0702ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
4219�s‚ÌRuby
ttp://homepage2.nifty.com/rohizuka/ka/pa_003_a.htm
0703ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>702
“¥‚Þ‚È
0704ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>700
http://www.loveruby.net/ja/hack/guide.html
‚±‚ê‚Ì�‘�Дł̂±‚Æ‚¾‚낤�B
0705ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>701
ruby-list. ‚½‚­‚³‚ñ‚ ‚è‚·‚¬�B

0706ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
WinXP‚ÉActiveRubyScript‚ð“ü‚ê‚Ä‚¢‚Ü‚·�B
Excel‚ÌVBA‚©‚çc:\test.rb‚ðŽÀ�s‚·‚é•û–@‚ð�A
‚ǂȂ½‚©‹³‚¦‚Ä’¸‚¯‚È‚¢‚Å‚µ‚傤‚©�B
0707rubyist@ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
‚ ‚¨‚Ì‚·‚§‚�‚‘‚ˆ‚’‚­‚¥‚’
0708ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>699
‹àŒõ‚Í�‘‚¢‚¿‚á‚¢‚È‚¢‚¾‚ë�B



‚ ‚Ÿ�BƒRƒ“ƒpƒCƒ‹Œ‹‰Ê‚ð‰„�X‚Æ�Ú‚Á‚¯‚Ä‚¢‚½–{‚Í‚ ‚Á‚½‚Á‚¯�B
0709ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
RHG‚Á‚Ä‚¢‚”­”„�H
0710ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>709
http://www.loveruby.net/~aamine/ja/tdiary/?date=20021112#p03
‚P‚QŒŽ“ª‚¾‚Á‚Ä‚³�B
0711ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ê‚æ‚èŠÈ’P‚È�‘‚«•û‚È‚¢‚Å‚·‚©?
n = 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>711
n = hash[foo] || (hash[foo] = MyClass.new)
‚±‚ê‚Í‚¾‚ß�H
0713ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
n = hash[foo] ||= MyClass.new
0714ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
rubycentral‚Á‚Ăǂ¤‚È‚Á‚Ä‚ñ‚Ì�H
0715ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚̃y�[ƒW‚̉pŒê”Å‚Érubycentral‚ɂ‚¢‚Ä�‘‚¢‚Ä‚ ‚邿�B
DNS‚ª–â‘肪‚ ‚Á‚Ä‚¤‚Ü‚­�s‚©‚È‚¢‚炵‚¢�B
’¼�ÚIPƒAƒhƒŒƒX‚Å�À‚¯‚Á‚Ä‚³�B
0716ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ‹�[ƒgƒT�[ƒo‚̈ړ®‚ÆŠÖŒW‚ ‚é‚©‚È�H
http://www.hotwired.co.jp/news/news/technology/story/20021108303.html
0717ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚Å�AŽ¿–₪‚ ‚è‚Ü‚·�B
Ruby‚Å�”•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‚Ì–¼–³‚µ‚³‚ñNGNG
‚Û‚Œ‚Œ
0719–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>717
> 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
>>719
‚Ç‚à�[�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
>>720
> ’[––‚É�í’“ƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
ƒNƒ‰ƒX‚Ì–¼‘O‚Á‚Ä“®“I‚Ɏ擾‚Å‚«‚Ü‚·‚©�H
0724ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ObjectSpace.each_object{|i|p i if i.type == Class}
0725–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>723
‚ ‚éƒ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
RHG‚Ì�o”ŎЂÁ‚Ăǂ±�H
—\–ñ‚Å‚«‚é‚Ì�H
�ìŽÒ‚̃y�[ƒWŒ©‚Ä‚½‚ç�A‚ ‚ñ‚Ü‚è�o‰ñ‚ç‚È‚¢‚©‚à‚Æ‚©
�‘‚¢‚Ä‚½‚©‚çŠmŽÀ‚É“üŽè‚µ‚½‚¢‚̂ł·‚ª�B
0727–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
<http://direct.ips.co.jp/book/Template/Goods/go_BookstempGR.cfm?GM_ID=1721&CM_ID=&SPM_ID=1&HN_NO=00400&PM_No=&PM_Class=>;

<http://www.loveruby.net/~aamine/ja/tdiary/20021116.html#p04>

�u‚â‚Ü‚¾‚ ‚«‚炳‚ñ‚̃cƒbƒRƒ~�v‚Á‚Ăǂ±‚¾‚Á‚½‚Á‚¯�B“Ç‚ñ‚¾Šo‚¦‚Í‚ ‚é‚ñ‚¾‚ª�B
0728ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>726
http://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‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚¾‚¯‚Å�‘‚©‚ꂽƒuƒ�ƒbƒN•ö‚µ·ÎÞÝÇ
0730ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ‚ƒWƒ…�[ƒ‹“à‚Å�A‚»‚̃‚ƒWƒ…�[ƒ‹‚ª’ñ‹Ÿ‚·‚éƒ�ƒ\ƒbƒh‚¾‚¯
‚©‚çŒÄ‚Ñ�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
‚ǂ̃XƒR�[ƒv‚Å
�„Foo::bar ‚Æ‚â‚ê‚Î 'foo' ‚ª�o—Í‚³‚ê�A
‚ǂ̃XƒR�[ƒv‚Å
�„Foo::bar ‚Æ‚¢‚¤ŒÄ‚Ñ�o‚µ‚͂ł«‚È‚¢
‚Ì�H
0732ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>730
Foo::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
0733730NGNG
�à–¾‚ªƒwƒ^‚Å‚·‚݂܂¹‚ñ�B>>732 ‚̂悤‚È‚±‚Æ‚ð‚â‚肽‚¢‚킯‚Å‚·�B
Š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
‚à‚¤�AŒ©‚¦‚¿‚á‚Á‚Ä‚¢‚¢‚¶‚á‚ñ�B
Œ¸‚é‚à‚ñ‚Å‚à‚È‚¢‚µ�B
0735730NGNG
>>734
‚Ü‚Ÿ�A‚»‚¤‚È‚ñ‚¾‚¯‚Ç(^^;
class ‚¾‚Æ private ‚Å�ãŽè‚­‚¢‚­‚Ì‚É�Amodule ‚¾‚ƃ_ƒ�‚È‚ñ‚¾‚È‚Ÿ�A
‚ÆŽv‚Á‚Ä�B
0736ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>730 ‚¾‚Æ bar ‚ª Foo ‚̃Cƒ“ƒXƒ^ƒ“ƒXƒ�ƒ\ƒbƒh‚Å‚à‚ ‚邯‚Ç�A
‚»‚Ì•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
0737ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽŸƒXƒŒ
http://pc3.2ch.net/test/read.cgi/tech/1037987061/l50
0738ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
str = "It is automatic potato"
match = Regexp.new(/uto|ati|ato/)

‚Æ‚¢‚¤‚悤‚È�ðŒ�‚Å�A�³‹K•\Œ»‚Ƀ}ƒbƒ`‚·‚é t ‚̈ʒu‚ð’m‚肽‚¢‚̂ł·‚ª�A
‚Ç‚¤‚·‚ê‚΂æ‚낵‚¢‚Å‚µ‚傤‚©�B
�ã‚Ì—á‚Å‚Í�A9,13,21 ‚Å‚·�B
0739ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚½‚Ü‚É
for i in 10

ensure
�@...
end
‚Æ‚©�‘‚«‚½‚­‚È‚é�Bbegin/endƒuƒ�ƒbƒN‚È‚ç
def‚¾‚낤‚ªfor‚¾‚낤‚ª‘S‚Ä“�ˆê“I‚É�‘‚¯‚½‚̂ɂË�B
0740ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>738
MatchData#begin(n)
0741738NGNG
>740
�î•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�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‚Ì–¼–³‚µ‚³‚ñNGNG
/uto|ati|ato/ ‚Í uto ati ato ‚Ì‚¤‚¿�Q‚ǂꂩˆê‚Â�Q‚Ƀ}ƒbƒ`ƒ“ƒO‚³‚¹‚é�³‹K•\Œ»‚¾‚æ�B

pat = ["uto", "ati", "ato"]
str = "It is automatic potato"
pat.map{|i| str.index(i)} #=> [7, 11, 19]
0743ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ ‚é‚¢‚Í�B
/(uto).*(ati).*(ato)/ =~ str
Regexp.last_match.begin(1)
Regexp.last_match.begin(2)
Regexp.last_match.begin(3)
0744738NGNG
>742,743
‚Ç‚¤‚à‚Å‚·�B
�³‹K•\Œ»‚Í‚»‚ꂾ‚¯‚ňê�û‚Ì–{‚ª�‘‚¯‚é‚킯‚¾�A‚ÆŽv‚¢‚Ü‚µ‚½�B
Žg‚¢‚±‚È‚¹‚邿‚¤‚ɕ׋­‚µ‚Ü‚·�B
0745738NGNG
‚½‚Ñ‚½‚Ñ‚·‚݂܂¹‚ñ�B

puts "automatic".scan(/((au|ma)t[io])/)‚Å
auto
au
mati
ma
‚ƃ}ƒbƒ`‚µ‚Ü‚·‚ª�A
auto ‚Æ mati ‚¾‚¯‚Ƀ}ƒbƒ`‚·‚é•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©�B
0746ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
/auto|mati/
‚¶‚Ⴞ‚ß�H

Ž©“®ƒWƒƒƒKƒCƒ‚‚Á‚ĂȂñ‚È‚ñ‚¾�E�E�E�E
0747738NGNG
745‚̗Ⴞ‚Æ�Aƒ}ƒbƒ`‚³‚¹‚½‚¢‚͓̂ñ‰Ó�Š‚¾‚¯‚Ȃ̂ŎèŠÔ‚ł͂Ȃ¢‚̂ł·‚ª�A
ŽÀ�Û‚Í 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>747
puts "caution automatic potato action".scan(/((?:ac|po|ta|au|ma)t[io])/)
0749ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>747
–{“–‚͉½‚ð‚µ‚½‚¢‚Ì‚©�A‚·‚Á‚©‚è‘S•”˜b‚µ‚Ä‚²‚ç‚ñ�H
0750ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>748
puts "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
0751738NGNG
>750 (?:)‚ªŽg‚¦‚邯‚Í‹C‚«‚Ü‚¹‚ñ‚Å‚µ‚½�B‚ ‚肪‚Æ‚¤‚²‚´‚Ü‚·�B

ŽÀ‚Í�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
0752730NGNG
>>736
> >>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
>>752
> 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
Ruby‚Å‹�‘å‚ÈHash‚ðŽg‚¢‚½‚¢‚ñ‚¾‚¯‚Ç�A‚Ç‚¤‚·‚é‚Ì‚ªŠÈ’P‚Å‚µ‚傤‚©�B
‘å‚«‚³‚̓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‚Ì–¼–³‚µ‚³‚ñNGNG
>>754
Ruby/Cache ‚ðŽQ�l‚É‚µ‚Ă݂½‚ç�H
0756ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•¶Žš—ñ‚ðƒL�[‚Æ‚µ‚½ Hash ‚ð“ǂݎæ‚è—pƒ�ƒ\ƒbƒh‚Æ‚µ‚Ä’è‹`‚µ‚½‚¢‚Å‚·�B
—Ⴆ‚Î�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
>>755
‚ ‚é‚¢‚̓L�[�”‚©‚炵‚Ä‹�‘å‚È‚çdbm‚Æ‚©�B
0758–¼–³‚µ‚³‚ñ�—ƒJƒ‰ƒAƒQ‚¤‚Ü‚¤‚ÜNGNG
>>756
class A
%w[a b c].each {|k| eval "def #{k}; @hash['#{k}']; end"}
end
0759ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>756
‚¿‚å‚Á‚Æ�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
>>759
ƒ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
Perl‚à‚Å‚«‚邯‚ÇŠ¸‚¦‚ÄRuby‚Å�‘‚­‚Æ‚«‚Á‚Ăǂñ‚ȂƂ«�H
‚±‚̃XƒŒ‚Ì�l‚ÍRuby‚µ‚©Žg‚í‚È‚¢�H
0762ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚·‚®‚Ƀ�ƒCƒ“‚ªRuby‚ɂȂÁ‚Ä�APerl‚Ì•û‚ª�uЏ‚¦‚Ä�v‚ɂȂé�B
‚ñ‚Å‚½‚܂ɂµ‚©Žg‚í‚È‚¢‚à‚ñ‚¾‚©‚ç�F�X–Y‚ê‚ĂĎžŠÔ‚ª‚©‚©‚é�B
0763759NGNG
>>760
‚»‚ñ‚Ȃ̂ª‚ ‚Á‚½‚Ì‚Ë�c�B‚µ‚ç‚È‚©‚Á‚½�B
‚Ü‚ �Aostruct.rb‚ð‚Ý‚é‚Æ“¯‚¶Ž–‚ð‚â‚Á‚Ä‚¢‚邾‚¯‚¾‚©‚ç�A
—¬—p‚¹‚¸‚ɓƎ©‚Å‚â‚é‚È‚çostruct.rb‚̃\�[ƒX‚ðŽQ�l‚É‚µ‚Ă݂ĉº‚³‚¢�B�„756
0764 NGNG
Ruby/Gtk‚ÅTextƒEƒBƒWƒFƒbƒg‚É�F‚ð•t‚¯‚½‚¢‚ñ‚¾‚¯‚Ç�A
ƒ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
0765738NGNG
Hash‚É�€–Ú�”120000, ƒTƒCƒY‚ª3.5M‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚ð
“o˜^‚µ‚Ü‚µ‚½�B
‚±‚ê‚ð�Aƒvƒ�ƒOƒ‰ƒ€‚ð‹N“®‚·‚邽‚Ñ‚ÉHash‚É“o˜^‚·‚é‚̂ł͂Ȃ­�A
Hash‚ðƒtƒ@ƒCƒ‹‚È‚è‚ɕۑ¶‚µ‚Ä‹N“®Žž‚ɓǂÝ�ž‚Þ‚Æ‚¢‚¤‚±‚Æ‚Í
‰Â”\‚Å‚µ‚傤‚©�B
0766ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=DBM
0767738NGNG
>766
�î•ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>767
ruby 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>767
require 'sdbm'‚¶‚á‚Ç‚¤?
0770ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
MarshalŽg‚Á‚½‚Ù‚¤‚ª—Ç‚¢‚ñ‚¶‚á�H
0771ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>739
’ñˆÄ‚µ‚Ă݂ê‚Î?

do/end‚Å‚àrescue/ensure‚ðŽg‚¦‚邿‚¤‚É‚µ‚Ăقµ‚¢‚Á‚Ă̂ªrubygarden‚É‚ ‚Á
‚½‚¯‚Ç�A‚ ‚ê‚à‚Ç‚¤‚È‚Á‚Ä‚é‚ñ‚¾‚©�B
0772ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>770
ƒf�[ƒ^‚ªŒ‹�\‘å‚«‚¢‚©‚ç�AMarshal‚œǂނ̂à‚â‚â�d‚¢‚悤‚È‹C‚ª‚·‚é‚ñ‚¾‚ª�B
0773ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>772
3.5M‚®‚ç‚¢‚Ȃ炽‚¢‚µ‚½‚±‚ƂȂ¢�B
‚Á‚ÄŽv‚¤‚¯‚Ç�B
0774ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
120000Œ�‚̂قƂñ‚Ç‚ðƒ‰ƒ“ƒ_ƒ€ƒAƒNƒZƒX‚Æ‚©�A‘¼‚ɂ͑債‚½‚à‚Ì‚ª“®‚¢‚ĂȂ­
‚Ĉê“x“Ç‚Ý�ž‚ñ‚¾‚炸‚Á‚ƃvƒ�ƒZƒX‚ª“®‚¢‚Ă邯‚©�Aƒ�ƒ‚ƒŠ‚ª—]‚è‚Ü‚­‚Á‚Ä‚é
‚Æ‚©‚È‚çHash‚ªƒxƒXƒg‚È‚ñ‚¾‚¯‚Ç‚Ë�B
‚Ü‚ŸŽg‚¢•ûŽŸ‘æ�B
0775738NGNG
>768
cygwin”ÅRuby DBM ‚ª“®‚­‚±‚Æ‚ðŠm”F‚µ‚Ü‚µ‚½�B
‚Å‚à�Acygwin”Å‚¾‚Æ win32ole ‚â Exerb ‚ªŽg‚¦‚È‚¢‚悤‚Å‚·‚Ë�B
‚ ‚¿‚ç—§‚Ä‚ê‚΂±‚¿‚ç—§‚½‚¸‚Å‚·�B
0776ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>775
GDBM Library (Win32 Port) <http://www.roth.net/libs/gdbm/>;
‚¢‚ê‚Äext/dbm‚Æ‚©ext/gdbmƒRƒ“ƒpƒCƒ‹‚µ‚Ă݂ê‚Î?
0777738NGNG
775‚Ì�‘‚«�ž‚݂̎ž�A�X�V‚µ‚Ä‚¢‚È‚©‚Á‚½‚Ì‚Å769ˆÈ�~‚ðŒ©‚Ä‚¢‚Ü‚¹‚ñ‚Å‚µ‚½�B

>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
>>777
> 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‚Ì–¼–³‚µ‚³‚ñNGNG
mswin32 ‚Å‚à sdbm ‚ÍŽg‚¦‚邯Žv‚¤‚¯‚Ç�B
dbm/gdbm ‚ªŽg‚¢‚½‚¢‚È‚ç mingw32 ”Å‚©‚È�B
0780779NGNG
‚·‚Ü‚ñ�Bƒ�ƒO�X�V‚µ‚È‚¢‚Å�‘‚¢‚½�B
0781ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¨‚¢�I1.8‚Í‚¢‚Â�o‚Ü‚·‚©�H
0782ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
—ˆ”N‚̃NƒŠƒXƒ}ƒX
0783ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
1997/12/25 1.1b3
1998/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
>>783
‚±‚Ì•ª‚¾‚Æ1.6.8�³Ž®ƒŠƒŠ�[ƒX�B
0785ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒtƒ@ƒCƒ‹ƒpƒX‚ðŽó‚¯Žæ‚éƒ�ƒ\ƒbƒh‚Í ~ ‚ð‚È‚º“WŠJ‚µ‚Ä‚­‚ê‚È‚¢‚ñ‚¾‚ë�B
File.exist?(File.expand_path("~/foo.txt"))
‚Æ‚©‚ß‚ñ‚Ç‚­‚³‚¢‚ñ‚¾‚¯‚Ç�B
0786ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽÀ�Û‚É"~"‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚ª‚ ‚邯‚«‚É�¢‚é‚©‚ç�B
0787ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>786
ŽÀ�Û‚â‚Á‚Ă݂½‚ç ~ ‚Á‚ăfƒBƒŒƒNƒgƒŠ�ì‚ê‚é‚ñ‚¾‚È‚Ÿ�B
‚Ü‚¬‚ç‚킵‚¢‚©‚ç�ì‚ê‚È‚­‚Ä‚¢‚¢‚Ì‚É�B
0788ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>787
‚ǂ̊‹«‚ÅŽŽ‚µ‚Ä‚é‚Ì‚©’m‚ç‚È‚¢‚¯‚Ç�AWindows‚È‚ñ‚ÄSFN‚Å~Žg‚¢‚Ü‚­‚è‚Å‚·‚ª�B
0789ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>785
shell‚ª�A‚à‚µ‚­‚̓†�[ƒU‚©‚ç‚Ì“ü—Í‚ðŽó‚¯•t‚¯‚鎞“_‚ʼnðŽß‚·‚ׂ«
‚à‚Ì‚Å�A‚»‚ÌŒã‚Í�l—¶‚·‚ׂ«‚ł͂Ȃ¢‚©‚ç�B
0790ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŸT‚¾�t‹esage
0791ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby ‚ł͑o‹È�üŠÖ�”�iƒnƒCƒpƒ{ƒŠƒbƒNƒTƒCƒ“‚Æ‚©�j‚â
‹t‘o‹È�üŠÖ�”‚ÍŽg‚¦‚È‚¢‚ñ‚Å‚µ‚傤‚©�H
Ž©•ª‚Å�ì‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ñ‚Å‚µ‚傤‚©�H
0792ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>791
1.7 ‚¾‚Æ Math ƒ‚ƒWƒ…�[ƒ‹‚É“ü‚Á‚Ä‚é�B
1.6 ‚¾‚Á‚½‚玩•ª‚Å�‘‚¢‚ĒljÁ‚µ‚½‚ç�B
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Math
0793791NGNG
>>792
‚»‚¤‚µ‚Ü‚·�B‚ ‚肪‡d�B
0794ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>792
shim‚É‚ ‚é‚©‚ÆŽv‚Á‚½‚ç�A‚È‚¢‚È�B
0795ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
shim ‚Á‚ĉ½�H
0796ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>789
*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‚Ì–¼–³‚µ‚³‚ñNGNG
>>795
1.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
>>796
ƒ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”OageNGNG
”ƒ‚Á‚½ƒ„ƒV‚¢‚é?
ƒŒƒrƒ…�[‚«‚Ú‚ñ‚Ê
0800ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
800!
0801ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>799
’m‚ç‚È‚¢ŠÔ‚É�A‚Ü‚½‰½�û‚©–{‚ª�o‚Ä‚é‚È�B
RHG, The Ruby Way“ú–{Œê”Å, eRuby–{�B
0802ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>801
Šw�¶‚³‚ñ‚ª�‘‚¢‚½ XML ‚Ì–{‚Ü‚Å�A�A�A
0803ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ê‚ç‚Ì–{‚Ì’†‚Å‚Í�A•�’Ê‚É ruby ‚ðŽg‚¤‚ñ‚È‚ç The Ruby Way ‚𔃂¤‚Ì‚ª—Ç‚¢‚©‚È�B
RHG ‚Í‚«‚¿‚ñ‚Ɠǂñ‚łȂ¢‚¯‚Ç�A“ǂݕ¨‚Æ‚µ‚Ă͂Ȃ©‚È‚©–Ê”’‚¢�B‚±‚¤‚¢‚¤–{‚Í�D‚«�B
0804ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
RHG�A�¡“ú“Í‚¢‚½‚̂ł¿‚å‚Á‚Æ‚¾‚¯–Ú‚ð’Ê‚µ‚Ă݂½�B
ˆêŒ¾‚Å‚¢‚¤‚Æ�u‚·‚²‚¢�v�B
‚±‚±‚܂ŖȖ§‚É�‘‚«�ž‚ñ‚ł邯‚Í�A—\‘z‚ð�ã‰ñ‚Á‚Ä‚¢‚½�B
‚Â�[‚©�A”„‚ê‚ñ‚Ì‚©‚±‚Ì–{�B
0805ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>804
‚±‚Ì–{‚¨‚à‚µ‚ë‚¢‚Ë‚¦�B‚µ‚©‚µ‘è�Þ‚Í ruby ‚¾‚ª�Aˆê”Ê ruby ƒ†�[ƒUŒü‚¯‚¶‚á
‚È‚¢‚È�B‚Þ‚µ‚ë C ƒvƒ�ƒOƒ‰ƒ}‚©�AŒ¾Œê�ˆ—�Œn‚ð�ì‚Á‚Ä‚¢‚é�lŒü‚«‚È‹C‚ª�B
0806ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>805
‚¤‚ñ�ARuby‚ð‘è�Þ‚É‚µ‚½Hacking Guide‚¾‚È�A‚ ‚ê‚͂܂³‚µ‚­�B
‚Å‚àYahoo!‚Å‚¢‚«‚È‚è5ˆÊ‚Á‚Ă̂͗\‘zŠO‚É”„‚ê‚Ä‚é�B
0807‚q‚•‚‚‚‰‚“‚”�—•”’·NGNG
Excel‚ðRuby‚©‚çŽg‚¤‚Ì‚æ‚èDAO‚Ý‚½‚¢‚ȃf�[ƒ^ƒx�[ƒX‚ðˆµ‚¤‚̂ł«‚é�H
‹àŒõƒNƒ“‚É‚æ‚낵‚­Œ¾‚Á‚Ä‚¨‚¢‚Ä‚­‚ê‚æ�B
0808ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•”’·! “ú–{Œê‚Å�‘‚¢‚Ä‚­‚¾‚¿‚¢�B
0809ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby ML‚¶‚á‚¢‚Ü‚¢‚¿”½‰ž‚ª”–‚¢‚È�c > RHG
0810ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ü‚¾‚Ý‚ñ‚ȓǂÝ�I‚Á‚ĂȂ¢‚ÆŽv‚í‚ê�B
0811ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>810
˜R‚ê‚à‚Ü‚¾“ǂ݂«‚Á‚ĂȂ¢�B–§“x�‚‚·‚¬‚¾‚悱‚ê�B
0812ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
aoki‚³‚ñ‚Á‚ÄŽá‚¢‚̂ł·‚©�H
ƒvƒ�ƒOƒ‰ƒ~ƒ“ƒO—ï‚͂ǂꂭ‚ç‚¢‚Ȃ̂łµ‚傤�B

�­‚µŽ¹“i‚µ‚Ü‚µ‚½�B
0813ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>812
Žá‚¢‚Å‚µ‚傤�B

Ruby‚Å—¯”N‚µ‚½‘åŠw�¶‚Á‚Ä‚­‚ç‚¢‚Å‚·‚©‚ç�B
0814ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŠÄ�CŽÒ‘O�‘‚«‚É�u’˜ŽÒ‚ÍRuby‚ª‚Ù‚Ú�Å�‰‚̃vƒ�ƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Å�A
ƒp�[ƒTƒWƒFƒlƒŒ�[ƒ^‚ÌRacc‚ª‚Ù‚Ú�Å�‰‚ÌŽ©�ìƒvƒ�ƒOƒ‰ƒ€�v‚Æ�‘‚¢‚Ä
‚ ‚é�B
0815ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�VRubyƒTƒCƒg�ԉ߂¬‚Ä–Ú‚ª”æ‚ê‚é�l‚Ì�”�¨(88)
0816ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>815
‚Â�[‚©�A‚Ç‚±‚©‚µ‚±‚ÉŒ©‚¦‰B‚ê‚·‚étDiary‚Á‚Û‚³‚ª‚â‚邹‚È‚¢�B
0817ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>815
‚Â�[‚©�Aruby-talk ‚Å‚à�B�B
0818ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>816
s/‚Ç‚±‚©‚µ‚±/‚»‚±‚©‚µ‚±/
0819ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>818
Ruby‚̃XƒŒ‚È‚ñ‚¾‚©‚ç�A
sub(/‚Ç‚±‚©‚µ‚±/, "‚»‚±‚©‚µ‚±")
‚Æ�‘‚¢‚Ä—~‚µ‚¢Îß�c
0820ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>818
�i*ß�¤ß�j“–‚½‚è‘O‚¾‚ë
0821ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�æ�T‚©‚ç�Aruby‚̕׋­ƒXƒ^�[ƒg‚µ‚Ü‚µ‚½�B

GNU 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‚Ì–¼–³‚µ‚³‚ñNGNG
tab_index = line.rindex("\t")
tab_index = 0 unless tab_index

tab ‚ð’T‚µ‚Ä�A–³‚©‚Á‚½‚ç 0 ‚ð•Ô‚µ‚Ăقµ‚¢‚ñ‚¾‚¯‚Ç�Anil ‚ª‹A‚é‚Ý‚½‚¢‚¾�B
ƒRƒŒ‚ðˆê�s‚Ńvƒ�ƒOƒ‰ƒ€‚·‚éŽè‚͂Ȃ¢‚Å‚·‚©
0823ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
“Ë‘R‚È‚ñ‚Å‚·‚ªperl‚̃vƒ�ƒOƒ‰ƒ€‚ðruby‚̃vƒ�ƒOƒ‰ƒ€‚É
•ÏŠ·‚Å‚«‚é•Ö—˜‚ȃc�[ƒ‹‚È‚ñ‚ĂȂ¢‚Å‚·‚©�H
C‚ðruby‚ɕϊ·‚Å‚«‚邯‚©‚»‚Ì‹t‚Å‚à‚¢‚¢‚ñ‚ñ‚Å‚·‚ª�E�E�E�B
’m‚Á‚Ä‚é•û‚¢‚½‚çƒAƒh‹³‚¦‚Ä‚­‚¾‚³‚¢�B
0824ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>822
> 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‚Ì–¼–³‚µ‚³‚ñNGNG
>>822
tab_index = line.rindex(/\t/).to_i

0826ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>821
> 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
>>823
–³—��B

>>824
‚‚©�A\t ‚ÅŽn‚Ü‚é•¶Žš—ñ‚Æ \t ‚ª‚È‚¢•¶Žš—ñ‚Ì‹æ•Ê‚ª‚‚©‚È‚¢‚悤‚È�B
0828821NGNG
>>826
‚Ç‚¤‚à‚Å‚·!•׋­‚ɂȂè‚Ü‚µ‚½�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
‚Æ‚±‚ë‚Å‚³�[�A–¾‚ç‚©‚É‚·‚êˆá‚¢‚¾‚¯‚Ç�A
------------
% cal 11 2 2002
Žg‚¢•û: cal [-mjyV] [“ú ŒŽ ”N]
------------
‚Ì[“ú ŒŽ ”N]‚Ì�A�u“ú�v‚Á‚ĉ½‚È‚Ì?

“ú‚܂Ŏw’è‚Å‚«‚È‚¢‚æ‚Ë?



0830ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>828
> ‚Æ‚¢‚¤�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‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚ë‚»‚ë�A�ÔŽë‚肪•K—v‚Ȃ悤‚ł‚Ë�B
0832ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚ÅWideStudio‚È–{‚łȂ¢‚©‚È�B
0833ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
WideStudio‚ªRuby‚àƒTƒ|�[ƒg‚µ‚½‚Æ‚Í�E�E�E�B
‚ñ‚ÅŽg—pŠ´‚͂ǂ¤‚È‚ñ‚Å‚µ‚å�H
0834ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
“Ë‘R‚Å�\‚µ–ó‚È‚¢‚̂ł·‚ªperl‚̃vƒ�ƒOƒ‰ƒ€‚ðCŒ¾Œê‚ɕϊ·�o—ˆ‚éƒc�[ƒ‹‚Æ‚©‚Á‚Ä‚ ‚è‚Ü‚·‚©�H
perl‚ªRuby‚ɕϊ·‚Å‚«‚½‚ç‚à‚Á‚Æ‚¤‚ꂵ‚¢‚ñ‚Å‚·‚ª�E�E�E�B‚Ç�[‚µ‚悤‚à‚È‚¢Ž¿–â‚Å‚·‚¢‚Ü‚¹‚ñ�B
0835ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚²‚ß‚ñ‚È‚³‚¢�B�ã‚̃JƒLƒR‚µ‚½ŽÒ‚Å‚·�B�Å‹ßRuby‚â‚肾‚µ‚½‚ñ‚Å‚·‚ª
‚Ç‚¤‚à—�‰ð�o—ˆ‚¸‚É�E�E�E�BCŒ¾Œê‚Í‚»‚±‚»‚±Ž©�M‚ ‚é‚ñ‚Å�A‚à‚µ‚»‚ñ‚È
ƒ\ƒtƒg‚ª‚ ‚ê‚Î‚à‚¤�­‚µRuby‚à—�‰ð‚Å‚«‚é‚ñ‚¶‚á‚È‚¢‚È‚Æ�E�E�E�B
Œ¾‚¢–ó‚©‚È�H
0836ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚½‚Ì‚µ‚¢Ruby
http://www.amazon.co.jp/exec/obidos/ASIN/4797314087/
‚Å‚à“ǂ߂΂¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚Ì�[�B
0837ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�Å‹ßRuby‚â‚肾‚µ‚ÄCŒ¾Œê‚Í‚»‚±‚»‚±Ž©�M‚ª‚ ‚é‚Ì‚Æ
perl‚̃vƒ�ƒOƒ‰ƒ€‚ðC‚ɕϊ·‚·‚鎖‚ɉ½‚ÌŠÖŒW‚ª‚ ‚é‚Ì‚¾‚낤‚©�c
0838ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
”Þ‚©‚çŠw‚ñ‚¾‚Ì‚Í�A�uƒhƒCƒcŒê‚ɂ̓hƒCƒcŒê‚Ì–ñ‘©Ž–‚ª‚ ‚é�v‚Æ‚¢‚¤‚±‚Ƃłµ‚½�B
‚±‚ÌŒ¾—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‚Ì–¼–³‚µ‚³‚ñNGNG
>>834
perlcc

>>838
‚»‚ê ruby-talk ‚ÅŒ©‚½‚悤‚È�B
0840ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>835
> CŒ¾Œê‚Í‚»‚±‚»‚±Ž©�M‚ ‚é‚ñ‚Å

ŒN‚Ì‚»‚ÌŽ©�M‚Í’P‚È‚é‰ß�M‚¾�B
0841ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>839
> ‚»‚ê ruby-talk ‚ÅŒ©‚½‚悤‚È�B

�ŋ߂̂ ‚̃lƒ^ƒXƒŒ‚Ö‚Ìreply‚̈ê‚‚¾‚Á‚½‚©‚Æ�B
0842ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ç�[‚µ‚悤‚à‚È‚¢Ž¿–â‚È‚ñ‚Å‚·‚ª�A—Ⴆ‚Î
–¼‘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
"hoge aaaaaa vvvvvv bbbbb"

‚±‚̂悤‚Ƀ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‚Ì–¼–³‚µ‚³‚ñNGNG
>>843
if /\A(\w+)\s*/ =~ str
cmd, arg = $1, $'
end
0845ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>843
str.split(/ /, 2)
0846ŠÛŒŒNGNG
�Ä“x�ArubyƒXƒŒ‚Å•·‚«‚Ü‚·¡


’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
if(str == '’JŒû�@˜r‘¾�@ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^�@1977”N�¶‚Ü‚ê')
�@str = '’JŒû�@˜r‘¾,ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^,1977”N�¶‚Ü‚ê'
end
0848ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
a = "’JŒû�@˜r‘¾�@ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^�@1977”N�¶‚Ü‚ê"
a =~ /([^�@]+�@[^�@]+)�@([^�@]+�@[^�@]+)�@([^�@]+)/
puts "#{$1},#{$2},#{$3}"

‚Ђ˂è‚È‚µ�B
0849ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>848
ƒGƒ“ƒR�[ƒfƒBƒ“ƒOƒIƒvƒVƒ‡ƒ“‚ð–Y‚ê‚È‚¢‚±‚Æ�B
0850ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
flag = ','
puts "’JŒû�@˜r‘¾�@ƒ^ƒjƒOƒ`�@ƒ�ƒ“ƒ^�@1977”N�¶‚Ü‚ê".gsub(/�@/){
flag = (flag == ',' ? '�@' : ',')
}
0851ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽdŽ–‚Å•\ŒvŽZ‚ð‚½‚­‚³‚ñ‚µ‚È‚¯‚ê‚΂Ȃ炸�A�¢‚Á‚Ä‚¢‚Ü‚·¡
‚±‚Ì�Û‚¾‚©‚ç�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
>>851
ƒoƒbƒNƒgƒ‰ƒbƒN
0853ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>851
table=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‚Ì–¼–³‚µ‚³‚ñNGNG
ƒnƒbƒVƒ…‘å�D‚«�B
h={}
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
>>852
‚»‚ê‚͈Ⴄ‚¾‚ë

ŒÃ“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‚Ì–¼–³‚µ‚³‚ñNGNG
‚¨‚Ü‚¢‚ç‚ɂ͎¸–]‚µ‚Ü‚µ‚½
0857ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�æ‚é‚È‚ç‘�‚­‚·‚邾‚æ‚à‚ñ�B�æ‚ç‚È‚¢‚È‚ç•Ԃ邾‚æ‚à‚ñ�B
0858ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>846
http://pc.2ch.net/test/read.cgi/php/1037797479/575
ŠÛŒŒ‚ɉa‚ð—^‚¦‚È‚¢‚悤‚É�B
Œä—ç‚à‚¢‚¦‚È‚¢‚悤‚È‚Ì‚Å“š‚¦‚é‚¾‚¯–³‘Ê�B
0859ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
256”{‚Ì–{
“ü“¹�A‰¤“¹�A”ÔŠO•Ò‚Á‚Ä‚¢‚‚łé‚Ì�H
0860ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>855
‚»‚¤�‘‚­‚ƌォ‚ç�‡”Ԃ΂ç‚΂ç‚ȃf�[ƒ^‚ªŽ�‚¿�ž‚Ü‚ê‚Ä‹ƒ‚­‹ƒ‚­�‘‚«’¼‚·‚±‚Æ‚É�E�E�E

‚Á‚Čܕª‚à‚©‚©‚ç‚È‚¢‚ñ‚¾‚¯‚Ç‚³�B
0861ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
sort ‚ð’Ê‚¹‚΂¢‚¢‚¾‚¯‚¶‚á‚È‚¢
0862ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒIƒ“ƒ�ƒ‚ƒŠ‚Ń�ƒO‰ð�͕͂s–¡‚¢‚¾‚ë�B
0863ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>854
”z—ñ‚̃nƒbƒVƒ…‚ÆpushŽg‚¦‚Á‚Ä�B
0864ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>854,863
1.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‚Ì–¼–³‚µ‚³‚ñNGNG
yield‚Á‚Ä‚à‚µ‚©‚·‚邯�Ascheme‚Å‚¢‚¤lambda“n‚µ‚Ý‚½‚¢‚È‚à‚ñ‚Å‚·‚©�H
0866perl‘f�l�Arubyƒ_ƒ�ƒ|NGNG
>>854
”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
>>866
> my($val,$year)=split /:/;
�‡�˜‹t‚¾‚æ�B‚µ‚©‚à‚È‚º‚©‹æ�Ø‚è•¶Žš‚ª•Ï‚í‚Á‚Ă邵�B
0868ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>865
Ž—‚Ă邯‚LjႤ�Blambda‚̓uƒ�ƒbƒN‚ðƒIƒuƒWƒFƒNƒg‰»‚·‚邽‚߂̊Ö�”‚Æ‚µ‚Ä•Ê
‚É‚ ‚é�B
0869perl‘f�l�Arubyƒ_ƒ�ƒ|NGNG
‚æ‚­”»‚è‚Ü‚¹‚ñ‚ª�Apush‚Å”z—ñ‚É’™‚߂Ă¢‚­�‘‚«•û‚Í�o—ˆ‚È‚¢‚̂ł·‚©�H
0870ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ђ炪‚È‚Á‚Ä�A
‚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
>>870
‰ºŽè‚È�¬�×�H‚æ‚è�Aƒe�[ƒuƒ‹‚ÅŽ�‚Á‚Ä‚µ‚Ü‚¤‚±‚Æ‚ð‚¨Š©‚ß�B
0872870NGNG
‚»‚¤‚Å‚·‚©
0873ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
XP‰ù‹^•Ò“Ç‚ñ‚Å‚½‚ç�A2‰Ó�Š‚Ù‚Ç‚Å Ruby ‚ªŒ¾‹y‚³‚ê‚Ä‚é‚Ë�B
Žå—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‚Ì–¼–³‚µ‚³‚ñNGNG
>>868
block = Proc.new { |...| ... }
(define block (lambda (...) ...))
‚¾‚ÆŽ—‚Ä‚é�H
0875ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>874
‚ ‚éˆÓ–¡Ž—‚Ă邯‚Ç�AScheme‚¾‚ÆŠÖ�”‚Ì’è‹`Ž©‘Ì‚à‚»‚ê‚¶‚á‚È‚©‚Á‚½‚Á‚¯?
Ruby‚ł͂»‚Ìblock‚̓�ƒ\ƒbƒh‚Æ‘S‚­“¯‚¶‚悤‚Ɉµ‚¤‚±‚Ƃ͂ł«‚È‚¢�B
0876ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
1.6.8ƒŠƒŠ�[ƒXage
0877ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
•¶–@�ã�A‚Æ‚¢‚¤‚æ‚è‚Í�A—p“r‚Æ‚µ‚ÄŽ—‚Ä‚¢‚é‚©�A‚Æ‚¢‚¦‚΂ǂ¤‚Å‚µ‚傤�H
0878ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
—p“r‚͂ǂ¤Žg‚¢‚½‚¢‚©‚É‚æ‚邯‚Ç�B
ƒ��[ƒJƒ‹•Ï�”‚ð‹¤—L‚·‚邯‚±‚ë‚È‚ñ‚©‚Í�A‚½‚Ô‚ñŽ—‚Ă邯Žv‚¤�B
0879ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚¸‚Á‚Æ ruby ‚΂Á‚©‚è‚â‚Á‚Ăċv‚µ‚Ô‚è‚É C ‚ð‚â‚Á‚½‚ª�A
ŠÖ�”‚©‚ç’l‚ª‹A‚Á‚Ä‚±‚È‚­‚Ä”Y‚ñ‚Å‚½‚ç
return ‚·‚é‚Ì‚ð–Y‚ê‚Ä‚¢‚½
0880ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>879
;–Y‚ê‚È‚¢?
0881ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ �[‚Ÿ
elif
else if
elseif
elsif
0882ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>881
—\–ñŒê‚̓GƒfƒBƒ^‚ŃnƒCƒ‰ƒCƒg‚³‚ê‚é‚©‚ç�A‚»‚ñ‚ȂɊԈႦ‚邱‚ƂȂ¢‚ñ‚¾‚¯‚Ç�B
0883ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�ÅŒã‚ÉŒvŽZ‚µ‚½’l‚ª‚»‚̂܂܃ŒƒWƒXƒ^‚É�Ú‚Á‚ĂĖ߂è’l‚ÉŒ©‚¦‚¿‚á‚Á‚Ä�A
return”²‚¯‚Ä‚é‚̂ɂµ‚΂炭‹C•t‚©‚È‚©‚Á‚½‚è‚·‚é‚ñ‚¾‚æ‚È�B
ƒRƒ“ƒpƒCƒ‹‚͒ʂ邵�B
ƒCƒ“ƒ‰ƒCƒ“‚É‚µ‚½‚è‚Æ‚©�Å“K‰»‚·‚邯ƒoƒO‚ªŒ°�݉»‚µ‚Ä‚µ‚΂炭”Y‚Þ�B
0884ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>883
gcc‚È‚ç-Wreturn-type‚Æ‚©
0885ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
-Wall
0886ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Visualu Ruby‚ðŽg‚Á‚Ä‚¢‚é�l‚Í‚¢‚Ü‚·‚©�H

ˆÈ‰º‚̃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‚Ì–¼–³‚µ‚³‚ñNGNG
‚±‚ñ‚È‚ñ‚Å‚¢‚¢‚©‚¢�H�@‚»‚̂܂ñ‚Ü‚¾‚¯‚Ç�B
class 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
0888886NGNG
‚¨‚§�A‘f‘�‚¢‚¨•ÔŽ–‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·�B

‚Æ‚±‚ë‚Å�A–{‰Æ VisualuRubyŒv‰æ�i‰¼�Ì�jˆÈŠO‚Å�A
Visualu Ruby‚ÌŽQ�l‚ɂȂéƒTƒCƒg‚Á‚Ä‚ ‚è‚Ü‚·‚©‚Ë�H
0889ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚ðƒCƒ“ƒXƒg�[ƒ‹‚µ‚½‚¢‚ñ‚Å‚·‚ª‚â‚è•û‚ª‚í‚©‚è‚Ü‚¹‚ñ�B
‹³‚¦‚ĉº‚³‚¢�B
0890ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>889
http://www.ruby-lang.org/ja/install.html
0891ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
1.8 preview ‚ª�o‚Ü‚µ‚½‚¯‚Ç�A
1.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‚Ì–¼–³‚µ‚³‚ñNGNG
1.8‚Á‚ĂȂɂª‚©‚í‚é‚Ì�H
0893ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Zope‚Ý‚½‚¢‚È‚Ì�ARuby‚É‚ ‚è‚Ü‚¹‚ñ‚©‚Ë�B‚¢‚Ü‚©‚çPhythonŠo‚¦‚é‚Ì‚à‚È‚Ÿ..

Warlus‚Æ‚©�A�¶‚«Žc‚é‚©‚Ç‚¤‚©‚¢‚Ü‚¢‚¿�M—p‚È‚ç‚ñ‚Ì‚Å�B
eRubyƒŒƒxƒ‹‚Å‚µ‚±‚µ‚±ƒAƒvƒŠ�‘‚­‚Ì‚à‚µ‚ñ‚Ç‚¢‚µ�B

‚݂Ȃ³‚ñ�AWebƒAƒvƒŠ‚Ç‚¤‚â‚Á‚Ä�ì‚Á‚Ă܂·‚©�H
0894ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
PHP‚Í�H
0895ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>891
1.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‚Ì–¼–³‚µ‚³‚ñNGNG
>>895
IOWA‚Í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
dRuby‚àeRuby‚à‚»‚ꂼ‚ê‚Í‚·‚²‚­ƒˆƒC‚ÆŽv‚¤‚Ì‚¾‚¯‚ê‚Ç�A
‚»‚ê‚ç‚ðƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
visualu ruby‚ÅŽv‚¢�o‚µ‚½‚¯‚Ç�A
FormDesigner‚Ì�X�V‚Á‚ÄŽ~‚Ü‚Á‚Ă邿‚Ë�B
‚Ȃɂ©‘¼‚É‚¢‚¢RADƒc�[ƒ‹‚ ‚é�H
0899ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>895
> 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‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ�ƒ\ƒbƒhŒÄ‚Ñ�o‚µ‚ÌŠ‡ŒÊ�È—ªƒKƒCƒhƒ‰ƒCƒ“‚Á‚Ä‚ ‚è‚Ü‚·‚©�H
RubyŠ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‚Ì–¼–³‚µ‚³‚ñNGNG
http://www.bagley.org/~doug/shootout/bench/sieve/detail.shtml?java=on&python=on&ruby=on
0902ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Windows ‚Å Ruby ‚©‚ç C:\hoge.exe ‚ðŽÀ�s‚·‚é•û–@‚Í‚ ‚è‚Ü‚·‚©‚Ë?
0903ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>899
‚ ‚ê�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
>>900
‚»‚¾‚Ë�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
>>903
> 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‚Ì–¼–³‚µ‚³‚ñNGNG
puts ' ' * 4 + 'hoge'
0907902NGNG
>903
‚Ç‚¤‚à‚Å‚·�B
0908893NGNG
>>895
�î•ñ‚Ç‚¤‚à�Bnarf‚ðŒ©‚Ä‚Ý‚½‚¯‚Ç�Aunit test‚ð‚â‚邽‚߂̂à‚Ì‚©�B
amrita, warlus‚̃TƒuƒZƒbƒg‚Æ‚µ‚Ă悳‚»‚¤‚¾‚¯‚Ç�Awarlus‚Ƃ̊֌W‚Í�H�ìŽÒ‚Í•Ê�H
0909ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>893

‚Í‚Á‚«‚è‚¢‚Á‚Ä�Aruby ‚É‚¨‚¯‚é Web ŠJ”­ŠÂ‹«‚͉ó–Å�ó‘Ô�B
‚»‚±‚ç‚Ö‚ñ‚̉ðŒˆ�ô‚Æ‚µ‚Ä Ruby + Eclipse + ŠeŽíƒvƒ‰ƒOƒCƒ“ ‚É‹�‚ß‚½‚¢‚ȂƉ´‚ÍŽv‚Á‚Ä‚é�B
0910909NGNG
ŠJ”­ŠÂ‹«‚Æ‚¢‚¤‚È‚ç�A‘¼‚̃XƒNƒŠƒvƒgŒ¾Œê‚Å‚à‘å‘Ì“¯‚¶‚悤‚È‚à‚Ì‚¾‚¯‚ê‚Ç‚à�A
�iMacromedia Dreamweaver ‚Æ‚©Žg‚¤‚Æ�A�¡‚̃I�[ƒvƒ“ƒ\�[ƒX‚ȃXƒNƒŠƒvƒgŒ¾Œê‚ðŽæ‚èŠª‚­
ŠJ”­ŠÂ‹«‚ªˆÈ‰º‚É�‚È‚¢‚©•ª‚©‚é�j

Šî‘b“I‚È‹Z�p‚̂ق©‚É�A‚»‚ê‚ð•Ö—˜‚Ɉµ‚¦‚邿‚¤‚É‚·‚邽‚߂̃c�[ƒ‹‚à‹¤‚É‚ ‚Á‚Ä‚±‚»ˆÓ–¡‚ª‚ ‚邯
‰´‚ÍŽv‚¤�B
0911893NGNG
>>909
�ŋ߂±‚ÌŽè‚Ì‚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
>>911

”÷–­‚Ȃ̂ª�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>912
amrita‚æ‚è‚àeRuby‚Ì•û‚ª—Ç‚¢‚Æ‚¢‚¤‚̂͋ï‘Ì“I‚ɂǂ¤‚¢‚¤Žž?

‚à‚¤‚ЂƂÂ�BƒvƒŒƒrƒ…�[‚·‚é‚É‚ÍeRuby‚Å‚àamrita‚Å‚à
ƒXƒNƒŠƒvƒg‚ð‹N“®‚¹‚´‚é‚𓾂Ȃ¢‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç�A
912‚͂ǂ¤‚¢‚¤—p“r‚ð�l‚¦‚Ä‚¢‚é‚Ì?
0914ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby/qt2 ‚Å“ú–{Œê‚ª•\ަ‚Å‚«‚È‚¢‚您�BƒtƒHƒ“ƒg‚ÌŽw’è‚ÌŽd•û‚ð‹³‚¦‚Ä�B
FreeBSD 4.7R ‚Å packages ‚Å“ü‚ꂽ ruby-qt2 ‚ðŽg‚Á‚Ä‚¢‚Ü‚·�B
0915ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>912

‰´‚Ì—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‚Ì–¼–³‚µ‚³‚ñNGNG
RDE‚Á‚Ăǂ¤‚æ�H‚‚©Visual Studio.NET‚É‘g‚Ý�ž‚ß‚½‚肵‚È‚¢‚Ì�H
0917ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>916

‚â‚ê‚é‚ñ‚łȂ¢‚©�H�@Ruby IDE ‚ð‘g‚Ý�ž‚Þ‚¾‚¯‚È‚ç�B

‚µ‚©‚µ�A‚»‚ê‚ð‘j‚Þ—vˆö‚Æ‚µ‚Ä‚Í�A‚â‚Á‚Ï–Z‚µ‚¢‚Ì‚©‚Ë�BIDE ‚É‹»–¡‚ ‚é�l‚Á‚Ă̂Í�B
0918ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>916,917
–³—¿‚¶‚á‚Å‚«‚È‚¢�B
http://vsip.summsoft.com/vsi/
‚±‚ñ‚È‚Ì‚à‚ ‚邪�A‘åŠw‚©Œ¤‹†�Š—p‚炵‚¢�B
http://www.msdn.microsoft.com/vstudio/vsip/
0919ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>918

ƒ}ƒW‚©‚æ�BExtension �ì‚Á‚ÄŠ´ŽÓ‚µ‚Ä‚à‚ç‚¢‚½‚¢‚­‚ç‚¢‚Ȃ̂É�A‹à‚ðŽæ‚é‚Æ‚Í�B
�iVisual Studio ‚𗘌 ‚̈ê‚‚Ƃłà�l‚¦‚Ä‚¢‚é‚ñ‚¾‚낤‚©�B‘S‚­�¢‚Ì’†‚ðŒ©Œë‚Á‚Ă邯‚µ‚©Žv‚¦‚ñ�j

‚¶‚á‚ ‚â‚Í‚è�AEclipse ‚Ì‘¼Žè‚Í–³‚¢‚È�B
0920ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby‚Í.NET�ã‚Å‚±‚»�Å‚àŒø‰Ê“I‚ÉŽg‚¦‚邯Žv‚¤‚ñ‚¾‚¯‚Ç‚È�B
ƒ‰ƒCƒuƒ‰ƒŠ‚ÍMS‚É�ì‚点‚Ä‚»‚ê‚ðŠÈ’P‚ÉŽg‚¦‚ê‚΂±‚ê‚Ù‚Ç‚¤‚ꂵ‚¢Ž–‚͂Ȃ¢¡
0921ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>914
‚¤‚¿‚ł͂قړ¯‚¶ŠÂ‹«‚Å
setenv LANG ja_JP.eucJP
‚µ‚Ä�Aexample ‚Ì codec.rb ‚ðŽÀ�s‚µ‚½‚ç‚¿‚á‚ñ‚ÆŠ¿Žš�o‚Ä‚é�B
LANG‚Ì�ݒ肪‚È‚¢‚ƑʖÚ�B
0922ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>920
ˆÚ�A�«‚ÉŒ‡‚¯‚é�B
0923ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
arton‚Æ‚©Œ¾‚¤�l‚ªŒ¾‚Á‚Ä‚½
.NETƒ‰ƒCƒuƒ‰ƒŠ‚ðŽg‚¤‚Ì‚ÍC#‚Å�\•ª�B‚Ä‚©C#‚·‚°�[‚Á‚Ä
0924ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ruby‚ðŽn‚߂悤‚ÆŽv‚¢RDEv9.90‚ðƒCƒ“ƒXƒg�[ƒ‹‚µ‚½‚ñ‚¾‚ª�A
“ú–{Œê‚Å‚«‚é•—‚Ȃ̂Ɏv‚¢‚Á‚«‚è‰pŒê‚¾‚Á‚½‚̂ŖÊ�H‚ç‚Á‚½�B
Œ¾Œêƒtƒ@ƒCƒ‹‚ðŠO•”‚É—pˆÓ‚·‚é•K—v‚ª‚ ‚é‚Ì‚©�A
‚»‚ê‚Æ‚àƒfƒtƒH‚ŃIƒvƒVƒ‡ƒ“‚©‚ç•Ï�X‚Å‚«‚é‚Ì‚©‚¨‚¹�[‚Ä‚­‚ç‚Í‚¢�B
0925924NGNG
>>924
Ž¿–âƒXƒŒ‚É‚·‚é‚ׂ«‚¾‚Á‚½‚©‚à�B
TranslationsƒtƒHƒ‹ƒ_‚ÉJapanese.xml‚ª‚ ‚é‚©‚ç�A
Option>other2‚ÌTranslation‚É�A‚»‚ê‚ðŽw’肵‚é�I‰´
0926ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚â‚Á‚ÏZOPE‚Ý‚½‚¢‚ȃAƒvƒŠƒP�[ƒVƒ‡ƒ“ƒT�[ƒo�[‚ª‚Ù‚µ‚¢�B�B
‚£‚¨‚é‚ç‚·‚à‚¢‚¢‚¯‚Ç�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>926
Walrus‚ÍWebrick‚Å‚àŽg‚¦‚½‚ÆŽv‚¤�B
Webrick‚̂ق¤‚ÍŠÈ’P‚ÉŽg‚¦‚é‚炵‚¢�B

http://devel.p1jp.com/old/yawal/devkit.html
0928926NGNG
>>927
‚¨‚¨�B
‚»‚¤‚¢‚¦‚ΑO‚ɉ\‚ð•·‚¢‚½‚Í‚¸‚Ȃ̂É�A‚·‚Á‚©‚è‚í‚·‚ê‚Ä‚¢‚Ü‚µ‚½�B
‚½‚ß‚µ‚Ă݂邱‚Ƃɂµ‚Ü‚·�B
‚ ‚肪‚Æ‚¤�B
0929ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
amritaŽg‚Á‚Ä‚¢‚é�l‹³‚¦‚Ä‚­‚¾‚³‚¢�B

&‚ðƒ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
0930929NGNG
Ž©ŒÈƒŒƒX‚Å‚·�B
‚悤‚·‚é‚É�Astr="&hoge"‚ɑ΂µ‚Ä�A
SanitizedString[str]‚Æ‚â‚ê‚Ηǂ©‚Á‚½‚̂łµ‚½�B
0931ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>926
Warlus‚ÌŠJ”­ƒRƒ~ƒ…ƒjƒeƒB‚Á‚Ăǂꂭ‚ç‚¢‘å‚«‚¢‚Ì�H‚»‚à‚»‚àƒI�[ƒvƒ“�H
‚È‚ñ‚©Zope‚Ý‚½‚¢‚ȈÀ�SŠ´‚ª‚È‚¢‚ñ‚¾‚æ‚È�B
0932ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>931
ƒ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
Windows 2000 ‚Ȃǂ̃VƒXƒeƒ€ƒ�ƒO‚âƒAƒvƒŠƒP�[ƒVƒ‡ƒ“ƒ�ƒO‚ɃCƒxƒ“ƒg‚ð�‘‚«�ž‚Þ
•û–@‚ð‹³‚¦‚Ä‚¢‚½‚¾‚«‚½‚¢‚̂ł·‚ª�B‚¨”»‚è‚ɂȂé•û‚Í‚¢‚Ü‚·‚©�H
0934ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>933
Windows APIŽ©‘Ì•ª‚©‚ç‚È‚¢‚Æ‚¢‚¤‚̂Ȃç�AƒXƒŒˆá‚¢�B
API‚Æ‚µ‚Ă͕ª‚©‚邯‚ÇRuby‚ł̂â‚è•û‚ª•ª‚©‚ç‚È‚¢‚Æ‚¢‚¤‚È‚ç�A
C‚©C++‚̃Tƒ“ƒvƒ‹ƒR�[ƒh‚ðŽ¦‚µ‚Ä‚­‚ê�B
0935ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
require 'win32ole'
wsh = WIN32OLE.new("WScript.Shell")
wsh.logEvent 1, "ƒGƒ‰�[‚¾‚æ"
#1 .. ƒGƒ‰�[, 2 .. Œx��, 4 .. �î•ñ
0936933NGNG
WSH‚̃XƒNƒŠƒvƒgƒGƒ“ƒWƒ“‚Æ‚µ‚ÄŽg‚Á‚Ä‚¢‚é‚̂ŒP�ƒ‚É
WshShell = WScript.CreateObject("WScript.Shell")
WshShell.LogEvent(0, "OK")
‚Å‚¢‚¯‚Ü‚µ‚½�B
0937ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
system("c:\hoge.exe")‚Ńtƒ@ƒCƒ‹‚ðŽÀ�s‚Å‚«‚邱‚Æ‚ðŠw‚т܂µ‚½‚ª�A
Windows‚ÌŠÖ˜A‚¯ŽÀ�s‚ðRuby‚©‚ç‚·‚é•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©�H
tako.html ‚ðƒ^ƒuƒuƒ‰ƒEƒU‚ÅŒ©‚½‚¢‚Å‚·�B
0938ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ˆê”Ô’P�ƒ‚Ȃ̂Í
cmd.exe /c tako.html

‚łȂ«‚á Win32API ‚Å ShellExecute
0939937NGNG
>938
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½�B
0940ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
http://sourceforge.net/projects/rubyeclipse
‚É�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‚Ì–¼–³‚µ‚³‚ñNGNG
>>940
Eclipse‘Ήž(�E�Í�E)²²¯!
�·‚è�オ‚Á‚Ä—~‚µ‚¢‚¯‚Ç“ú–{‚Å‚ÍWindows‘ΉžˆÈ�ã‚É
Œº�lŽó‚¯‚Ì‚µ‚È‚³‚»‚¤‚ȃvƒ�ƒWƒFƒNƒg‚¾‚È‚Ÿ�E�E�E
0942ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>942
ƒ_ƒ�‚©‚È‚ �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‚Ì–¼–³‚µ‚³‚ñNGNG
942‚̈ê�s–Ú‚Í>>941‚¾‚Á‚½�BŸTŽ€�B
0944ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
eclipse‚ɂ͌Â�l“I‚É‚Í�·‚è�オ‚Á‚Ä—~‚µ‚¢‚ª�A
‚»‚̉”\�«‚Í’á‚¢‚ÆŽ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
0945940NGNG
ttp://www.rubyide.org/cgi-bin/wiki.pl
‚ð‚¿‚å‚Á‚Ɠǂñ‚ł݂½‚ñ‚¾‚¯‚Ç�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
>>944
> (‚¿‚Ȃ݂ɓú–{‚ÅFreeRIDE‚ª‚܂Ƃà‚ÉŽg‚í‚ê‚邿‚¤‚ɂȂ邱‚Ƃ͓–•ª‚È‚¢‚Å‚µ‚傤)
—�—R‚Í?
0947ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>946
“ú–{Œê‚ª‚ë‚­‚É’Ê‚ç‚È‚¢‚©‚ç�B
0948ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŒöŽ®ƒTƒCƒg‚Ì�VƒfƒUƒCƒ“�A‚©‚Á‚±ˆ«‚¢‚ÆŽv‚¤‚͉̂´‚¾‚¯?

‹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
‚¿‚å‚Á‚Æ‘O‚É�VƒfƒUƒCƒ“‚ɈÚ�s‚µ‚½‚ÆŽv‚Á‚½‚ç�A
�¡ƒAƒNƒZƒX‚µ‚½‚狌ƒfƒUƒCƒ“‚¾‚Á‚½�B
–ß‚µ‚½‚Ì‚©�H
0950ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
>>949
‹ŒƒfƒUƒCƒ“‚ł͂Ȃ­‚Ä�A�VƒfƒUƒCƒ“‚ð‚·‚±‚µ‰ü—Ç‚µ‚½‚̂łÍ?
0951ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
FreeRIDE‚̃�ƒCƒ“‚ÌŠJ”­ŽÒ‚ÌCurt Hibbs‚Í�Å�‰‚ÉEclipse‚Ì
Rubyƒ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‚Ì–¼–³‚µ‚³‚ñNGNG
>>951
FreeRIDE‚Ìgtk+ƒoƒCƒ“ƒfƒBƒ“ƒO‚ª‚ ‚邯‚©‚È‚¢‚Æ‚©�A
‚Ç‚±‚©‚ÅŒ©‚È‚©‚Á‚½�H
0953ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽŸ‚̃XƒŒ‚͂ǂ¤‚·‚é?
0954ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ŽŸƒXƒŒ

Ruby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
0955IP‹L˜^ŽÀŒ±NGNG
IP‹L˜^ŽÀŒ±
http://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‚Ì–¼–³‚µ‚³‚ñNGNG
ZAQ‹K�§‰ð�œ�R�i�L�[�M)ƒm
0957ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�Å�‚�Ù‚Ö‚Ì�ã��‚Í”F‚ß‚ç‚ê‚È‚­‚È‚Á‚½‚©‚ç�A‚±‚ê‚ÅŽ–ŽÀ�ã”»ŒˆŠm’肾‚æ�B
‹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
======2==C==H======================================================

�@�@�@�@�@�@�@�@�@‚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‚Ì–¼–³‚µ‚³‚ñNGNG
‹L”O¶·º
0960ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�‘‚«�ž‚܂Ȃ¢‚Ì‚ªˆê”Ô‚Æ‚¢‚¤Ž–‚Å�B�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@
0961ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ȃɂ±‚ê�B
0962ƒ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
>>216
(=߃Öß)É‚¡‚å‚£
0964ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�^�^|�@�@�@/�R�@�@�@�@�@�@�@�@�@�@�@�@�@�@�^�@�@�@�@�@�@�@�R
�^�^|�@ |�@�@�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
�¡�uT“®•¨•a‰@‚Í�í�œƒ‹�[ƒ‹‚É�]‚Á‚½‚Ì‚©�I�@‚Q‚¿‚á‚ñ‚É‚Í�í�œƒ‹�[ƒ‹‚ª‚¿‚á‚ñ‚Æ‚ ‚é‚ñ‚¾�I�v
‚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
>>448
Œ»�݂̎d—l‚Å‚àƒuƒ‰ƒEƒU‚ʼn{——‰Â”\‚Å‚·‚ª
0968ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒŠƒ��[ƒh‚µ‚ĂȂ©‚Á‚½‚Å‚·‚æ�B


ŒÂ�l“I‚ɂ͕ʂɗǂ¢‚ÆŽv‚¢‚Ü‚·‚¯‚Ç�B
‚܂Ƃ߂̘b‚Æ‚©•׋­‚ɂȂé‚ñ‚¶‚á‚È‚¢‚©‚È‚Ÿ‚Á‚Ä�B
‚·‚łɈړ®‚³‚ꂽ‚悤‚Ȃ̂ł±‚êˆÈ�㌾‚¢‚Ü‚¹‚ñ�B


“¦‚°‚é‚Ù‚¤‚Å‚·�B
0969ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�Î�쌧�@–kš �V•·‚æ‚è�i30Íß°¼Þ�j

Œ§“àŽ™“¶‚ÌŽ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
‰´‚à‚»‚¤Žv‚¤�B�‚‚¢‹àŽ©• ‚Å•¥‚Á‚ÄŒfަ”‚ð‰^‰c‚µ‚Ä‚Ä
‰½�ˆ‚Ì’N‚©‚à’m‚ç‚ñ“z‚ª�ŸŽè‚È‚±‚Æ�‘‚¢‚½Ž–‚É‚æ‚Á‚Ä
Ž©•ª‚ɉ΂̕²‚ª”ò‚ñ‚Å—ˆ‚½‚ç�A”é–§‚ðŽç‚Á‚Ä‚â‚é‹`—�‚Í
‚È‚¢‚æ‚ȂЂë‚ä‚«‚É‚µ‚½‚ç�B
0972ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
======2==C==H======================================================

�@�@�@�@�@�@�@�@�@‚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‚Ì–¼–³‚µ‚³‚ñNGNG
Winny‚âFreenet‚ð—˜—p‚µ‚Ä’´‘½’i‹ø‚Ì�æ‚©‚ç�‘‚«�ž‚߂邿‚¤‚ɂȂç‚È‚¢‚©‚È�c�B
0974ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
ƒ�ƒOŒöŠJ‚ª�CŽi’¼‚Ì�³“–‚È—v�¿‚݂̂ɂæ‚Á‚Ä�s‚í‚ê‚é‚È‚ç�C
”á”»‚Ì‘Î�ۂƂȂÁ‚½’c‘Ì‚ªŒÂ�l‚ð“Á’è‚·‚邱‚Ƃ͂ł«‚È‚¢‚Å‚µ‚å�B
0975ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
“à•”��”­ƒŠƒXƒN‚ª‚ ‚è‚·‚¬‚é‚Á‚Ä‚Ì�E�E
0976ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�o‚·‚¾‚낤�A“–‘R�B‚Á‚‚¤‚©�A�¡‚Å‚à�o‚µ‚Ä‚é‚ñ‚¾‚낤‚æ�B
0977ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�r‚炵‚Å�A‚à‚¤‚·‚®’¾‚Ý‚»‚¤�c�B

‚Ƃ肠‚¦‚¸�AŽŸƒXƒŒ

Ruby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
0978ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–k’©‘N‚à•½˜a‚¾‚æ
0979ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
”¼ŠpŒn”‚łÍ�A‹ÆŽÒ‚ª�‘‚«�ž‚Þ‚ÆƒŠƒ‚ƒz‚ª•\ަ‚³‚¹‚ç‚ê‚Ä‚é‚Ý‚½‚¢
0980ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ƃ肠‚¦‚¸�AŽŸƒXƒŒ

Ruby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
0981ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚»‚ë‚»‚ë
1000Žæ‚è‚â‚Á‚Ä‚à‚¢‚¢‚Å‚·‚©�H
0982ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Ü‚¾‚Ü‚¾‰ä–�
0983ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚ �`‚ 2‚¿‚á‚ñ‚à‚±‚ñ‚ȃAƒz‚΂Á‚©‚ɂȂÁ‚¿‚Ü‚Á‚½‚©
‚±‚ê‚àŽž‚Ì—¬‚ê‚©‚Ë

‚à‚¤‚¾‚ß‚Û
0984ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‚Â�[‚©�A‚·‚°�[Šî–{“I‚È‚±‚ƂȂñ‚¾‚¯‚Ç
�uŽ©ŒÈ�Ó”C‚Å�‘‚¯�v(^_^;)‚Â�[‚±‚Æ‚â‚Ë�B
‰½‚ª‘å�ä•v‚©‚Ç‚¤‚©‚Á‚Ă̂à�AŽ©ŒÈ�Ó”C‚Å�l‚¦‚Ü‚µ‚傤�B
’N�X‚ª‘å�ä•v‚Á‚ÄŒ¾‚Á‚½‚©‚ç‚È‚ñ‚Ä�[Œ¾‚¢–ó‚Í‚à‚¤’Ê—p‚µ‚È‚¢‚ñ‚Å�E�E�E
0985ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�« ‚Í‚¢�A‚»‚ê‚Å‚Í�@1000 Žæ‚è‚Ç‚¤‚¼
0986ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Á®Ä�i—ª
0987ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�¶‚¯æÑ‚Á‚ĉ½‚¼‚â�H
0988ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
988
0989ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
‰´‚ ‚µ‚½‚Ç‚Á‚©‚ʼn½‚©‚·‚邵�B

’n‹…�ã‘S•”Œx‰ú‚µ‚ê�B
0990ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
�¡Šî‘b’mޝ�¡

�¡�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
–{“–‚É‚»‚¤�AIPŠF‚³‚ñ‰ð‚Á‚Ä‚é�H
�òƒsƒ“Žq‚Ì—ª‚Á‚Ä‚±‚Æ�B
0992ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
½Ï¿�B—Ç‚©‚Á‚½‚çƒIƒŒ‚É‚à‹³‚¦‚Ä‚­‚ê�B
ƒIƒŒ‚à“¯‚¶‚Ì•t‚¯‚Ä—V‚Ñ‚½‚¢�E�E�E�B
0993ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
gameŽI�I‚í‚Á‚Ă邿�B
0994ŽR�è�ÂNGNG
�i�O�O�j
0995ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–„‚ß
0996ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–„‚ß—§‚Ä�B
0997ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–„‚ß—§‚Ä�B
0998ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–„‚ß—§‚Ä�BŽY‚ß—§‚Ä�B
0999ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
–„‚ß—§‚Ä�BŽY‚ß—§‚Ä�B�¶‚ß—§‚Ä�B
1000ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñNGNG
Ruby ‚ɂ‚¢‚Ä Part 3
http://pc3.2ch.net/test/read.cgi/tech/1042004759/
1001‚P‚O‚O‚POver 1000Thread
‚±‚̃XƒŒƒbƒh‚Í‚P‚O‚O‚O‚ð’´‚¦‚Ü‚µ‚½�B
‚à‚¤�‘‚¯‚È‚¢‚Ì‚Å�A�V‚µ‚¢ƒXƒŒƒbƒh‚𗧂ĂĂ­‚¾‚³‚¢‚Å‚·�B�B�B
ƒŒƒX�”‚ª1000‚ð’´‚¦‚Ä‚¢‚Ü‚·�B‚±‚êˆÈ�ã�‘‚«�ž‚݂͂ł«‚Ü‚¹‚ñ�B