[•\ަ : ‘S‚Ä ÅV50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.sc‚Ìread.cgi‚Ö]
Update time : 08/13 18:23 / Filesize : 307 KB / Number-of Response : 1052
[‚±‚̃XƒŒƒbƒh‚Ì‘‚«ž‚Ý‚ð휂·‚é]
[{” ŋߗ§‚Á‚½ƒXƒŒ•”M‚¢ƒXƒŒˆê—— : {” ŋߗ§‚Á‚½ƒXƒŒ^‹LŽÒ•ʈꗗ] [—ÞŽ—ƒXƒŒƒbƒhˆê——]


ªƒLƒƒƒbƒVƒ…ŒŸõA—ÞŽ—ƒXƒŒ“®ì‚ðC³‚µ‚Ü‚µ‚½A‚²–À˜f‚ð‚¨Š|‚¯‚µ‚Ü‚µ‚½

Ruby ‰SŽÒƒXƒŒƒbƒh Part 66



1 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/01/04(“y) 01:15:34.30 ID:X7t3Qsuc0.net]
ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê Ruby‚ɂ‚¢‚Ä‚ÌA‰SŽÒŒü‚¯ƒXƒŒ‚Å‚·BŽ¿–âE—v–]EŽG’k‚Ȃǂð‚Ç‚¤‚¼

Ž¿–â‚·‚邯‚«‚ÍAOS‚âRuby‚̃o[ƒWƒ‡ƒ“AƒGƒ‰[ƒƒbƒZ[ƒW‚ð‘‚¢‚ĉº‚³‚¢B
Ruby on Rails ‚ɂ‚¢‚Ä‚ÍAWEBƒvƒƒOƒ‰ƒ~ƒ“ƒO”‚Å

‘OƒXƒŒ
Ruby ‰SŽÒƒXƒŒƒbƒh Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/

‚é‚è‚܃T[ƒ`@iƒŠƒtƒ@ƒŒƒ“ƒXŒŸõj
rurema.clear-code.com/

Rubyist Magazine - ‚é‚Ñ‚Ü
jp.rubyist.net/magazine/

‹tˆø‚«Ruby
www.namaraii.com/rubytips/

Ruby ƒRƒ~ƒ…ƒjƒeƒBŒöŽ®
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

848 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/15(–Ø) 14:56:39.44 ID:FYvAP3o60.net]
powershell‚¶‚á‚È‚­‚ăŒƒKƒV[ƒRƒ“ƒ\[ƒ‹‚̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðŽg‚í‚È‚¢‚ƃ_ƒ‚¾‚Á‚½‚Í‚¸

849 –¼‘OF788 mailto:sage [2020/10/15(–Ø) 15:46:22.07 ID:7eWumHpU0.net]
>>810
‚ÍAPowerShellEƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚

850 –¼‘OF̂ǂ¿‚ç‚Å‚àAƒGƒ‰[‚ɂȂé []
[‚±‚±‰ó‚ê‚Ă܂·]

851 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/17(“y) 14:09:06.36 ID:cX3MrjsP0.net]
4,000s‚Ù‚Ç‚ÌRubyƒvƒƒOƒ‰ƒ€‚ðnode.js‚Éæ‚芷‚¦‚悤‚ÆŽv‚Á‚Ă܂µ‚½‚ª
‚â‚Á‚Ï‚èRuby‚Ì•û‚ª•Ö—˜‚È‹C‚ª‚µ‚Ä‚«‚Ü‚µ‚½B
JS‚̓[ƒJƒ‹•Ï”‚ª‚¿‚á‚ñ‚Æì‚ê‚邱‚Æ‚âapply‚ªŽg‚¦‚邱‚ÆAifƒuƒƒbƒN‚âƒRƒƒ“ƒg‚Ì‘‚«•û‚Ȃǂª
D‚«‚¾‚Á‚½‚ñ‚Å‚·‚ªŒ³Xƒuƒ‰ƒEƒU—p‚¾‚Á‚½‚¹‚¢‚©ƒtƒ@ƒCƒ‹ŠÖ˜A‚ª”ñ“¯Šú„§‚Å‚·‚µ
stdout‚Æfile‚̈Ⴂ‚à‚¿‚á‚ñ‚ƈӎ¯‚µ‚È‚¢‚Æ‚¢‚¯‚È‚­‚È‚Á‚Ä‚¢‚邿‚¤‚Å‚·B
ƒtƒ@ƒCƒ‹ŠÖ˜A‚̃‰ƒCƒuƒ‰ƒŠ‚à”ñ“¯Šú‚݂̂̑Ήž‚Ìê‡‚à‘½‚¢‚悤‚ÅARuby‚É”ä‚ׂ邯
Žg‚¢ŸŽè‚É–â‘肪—L‚è‚»‚¤‚Å‚·B
ƒXƒNƒŠƒvƒgŒ¾Œê‚Ì–Ú“I‚ÍŠÈ’P‚ɃvƒƒOƒ‰ƒ€‚µ‚½‚¢‚±‚Ƃł·‚ªAnode.js‚æ‚èRuby‚Ì•û‚ª
ƒtƒ@ƒCƒ‹ŠÖ˜A‚ÍŠÈ’P‚Ȃ悤‚Å‚·B

852 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/18(“ú) 01:39:25.66 ID:xeOKOt4d0.net]
Ruby‚Í‚¿‚á‚ñ‚Æ‚µ‚½ƒuƒƒbƒN•Ï”‚ªì‚è‚É‚­‚¢‚±‚Æ‚ªŒ‡“_‚¾‚ÆŽv‚Á‚Ä‚¢‚½‚̂ł·‚ª
‹t‚Énode.js‚Ìê‡AƒOƒ[ƒoƒ‹•Ï”‚ƃ[ƒJƒ‹(ƒuƒƒbƒN)•Ï”‚̈Ⴂ‚ª
ʼn‚Ì’è‹`Žž‚Élet(‚Ü‚½‚Ívar)‚ð‘‚­‚©‚Ç‚¤‚©‚¾‚¯‚Å‹æ•Ê‚³‚ê‚Ä‚¨‚èA
‚»‚ê‚Í‚»‚ê‚Ŋ댯‚Èê–Ê‚à‚ ‚邿‚¤‚É‹C•t‚«‚Ü‚µ‚½B
Ruby‚ÌꇂÍA擪‚ª$‚ÅŽn‚Ü‚é•Ï”‚̓Oƒ[ƒoƒ‹‚ɂȂèA‘å•¶Žš‚ÅŽn‚Ü‚é•Ï”‚Í
ƒOƒ[ƒoƒ‹’蔂ɂȂè‚Ü‚·‚Ì‚ÅA—L‚éˆÓ–¡‚ł͈À‘S‚Å‚·‚µA–½–¼‹K‘¥‚Æ‚µ‚Ä‚à
‘S‚ẴvƒƒOƒ‰ƒ}‚Å‹¤’ʂɂȂèƒ\[ƒX‚Ì•ª‚©‚èˆÕ‚³‚ÉvŒ£‚µ‚Ä‚¢‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B
node.js‚Ìê‡Alet•¶‚ð‘‚«–Y‚ꂽ‚¾‚¯‚ŃOƒ[ƒoƒ‹•Ï”‚ɂȂé‚̂͌´ˆö•s–¾‚Ì
ƒoƒO‚ª“ü‚螂މ”\«‚ð‘‚₵‚Ä‚¢‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B
‚Ü‚½ARuby‚ÍAsystemŠÖ”‚ª•Ö—˜‚Å‚·B
ŽÀÛ‚ÉŽg—p‚µ‚Ă݂½Š´‘z‚Æ‚µ‚ÄRuby‚Í‘S‘Ì“I‚ɈÀ’肵‚Ä‚¢‚éˆóÛ‚ðŽ‚¿‚Ü‚µ‚½‚ªA
node.js‚ÍAƒCƒ“ƒXƒg[ƒ‹Žž‚̈ê”ԑ厖‚Ȋ‹«•Ï”‚Å‚·‚玩“®Ý’肳‚ê‚Ä‚¨‚炸A
ƒvƒƒOƒ‰ƒ}[ˆÈŠO‚Ìl‚ɃvƒƒOƒ‰ƒ€‚ð”z•z‚·‚邱‚Æ‚Íâ–]“I‚Å‚·B

853 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/18(“ú) 18:18:43.72 ID:WlQf1Fni0.net]
>ʼn‚Ì’è‹`Žž‚ÉAlet(‚Ü‚½‚Ívar)‚ð‘‚­‚©‚Ç‚¤‚©‚¾‚¯‚Å‹æ•Ê‚³‚ê‚Ä‚¨‚è
VSCode ESLint ‚Æ‚©‚ÅAƒ`ƒFƒbƒN‚Å‚«‚é‚̂łÍH

Windows ‚Å‚àA50ms ˆÈãŠ|‚©‚éAIO ‚Í”ñ“¯Šú‚ð„§‚µ‚Ă邩‚çA‘‚«‚É‚­‚¢

‚Å‚àARuby on Rails 6 ‚Å‚ÍAƒfƒtƒHƒ‹ƒg‚ÅANode.js, Webpack ‚ðŽg‚¤

‚½‚¾‚µAGUI ‚ÍHTML, CSS/SASS, Bootstrap, JavaScript(JS)‚¾‚¯‚ÇA
ƒT[ƒo[‘¤Œ¾Œê‚É‚ÍARuby‚ðŽg‚¤

Ruby‚É‚Íʼn‚©‚çAC ‚Æ“¯—lAŠÖ”ƒXƒR[ƒv‚ª‚ ‚Á‚½B
ES2015 ‚ÅAJS ‚É‚ào—ˆ‚½‚Ì‚©‚ÈH

854 –¼‘OF814 mailto:sage [2020/10/18(“ú) 18:30:15.98 ID:WlQf1Fni0.net]
YouTube ‚Å—L–¼‚ÈŽGHŒnƒGƒ“ƒWƒjƒAEKENTA ‚ÍA
‰SŽÒ‚ªi‚Þ“¹‚ðAƒT[ƒo[‘¤Œ¾Œê‚ÌRuby ¨ Go ‚ð‰¤“¹‚Æ‚µ‚Ä‚é

‚±‚Ì2‚ˆȊO‚ÍAo‚Ä‚±‚È‚¢B
JavaScript, Python ‚©‚çŽn‚ß‚ë‚Á‚Äâ‘΂Ɍ¾‚í‚È‚¢I

Python ‚©‚çŽn‚߂Ă͂¢‚¯‚È‚¢‚Á‚ÄŒ¾‚Á‚Ä‚éB
uAI‚â‹@ŠBŠwK‚É‹»–¡‚ª‚ ‚é‚Ì‚ÅPython‚©‚ç•׋­v‚ÍŒë‚è‚Å‚·ByYAGNI‚Ì–@‘¥z

KENTA ‚ÍA10Œ¾ŒêˆÈã’m‚Á‚Ä‚¢‚ÄA
“o˜^ŽÒ”5–œlAŒŽç‰~‚̃Tƒƒ“‚ªA2çl‚à‚¢‚é‚©‚çA
\•ª‚ɃqƒAƒŠƒ“ƒO‚µ‚Ă邵A‚ǂ̌¾Œê‚ªÁÜŠm—¦‚ª‚‚¢‚©A‚æ‚­•ª‚©‚Á‚Ä‚¢‚é

855 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/18(“ú) 18:36:30.11 ID:xWXtsYNK0.net]
KENTAuRuby‚ÉS“D‚·‚é“z‚ÍL‚тȂ¢B‚³‚Á‚³‚Æ‘¼‚ÌŒ¾Œê‚Éi‚ßv

856 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/18(“ú) 19:10:33.77 ID:Ie2s5K3J0.net]
>>816
C‚ÍAŠÖ”ƒXƒR[ƒv‚Æ‚¢‚¤‚æ‚èAƒuƒƒbƒNƒXƒR[ƒvB
Ruby‚Ƃ͈ႤB



857 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/18(“ú) 20:35:28.25 ID:2aU6LfzH0.net]
KENTAuC++‚ðŽn‚ß‚é‚ׂ«v

858 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/23(‹à) 17:32:28.92 ID:iE1/WHvK0.net]
VSCode‚ȂǂÉHTML‚ÌLivePreview‹@”\‚ª‚ ‚è‚Ü‚·‚ªA
erb‚ÌLivePreview‘Ήž

859 –¼‘OFƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Á‚Ä‚ ‚è‚Ü‚·‚©H []
[‚±‚±‰ó‚ê‚Ă܂·]

860 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/24(“y) 08:32:09.72 ID:PENdR3tu0.net]
VSCode ‚ÌŠg’£‹@”\‚ÌLive Server ‚Å‚ÍAWeb Extension ‚ÅA
PHP ‚Åì‚é“®“Iƒy[ƒW‚à•\ަ‚µ‚Ă邯‚ÇAERB ‚Ì‚â‚è•û‚Í•ª‚©‚ç‚È‚¢

https://chrome.google.com/webstore/detail/live-server-web-extension/fiegdmejfepffgpnejdinekhfieaogmj?hl=pt-BR

Rails 6 ‚È‚çAwebpack-dev-server ‚ª•W€

861 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/24(“y) 14:35:22.81 ID:rBYTjNf90.net]
>>822
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
webpack-dev-server ’²‚ׂĂ݂܂·

862 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/24(“y) 21:01:22.94 ID:ehonUome0.net]
number = "0.072953"
float_number = number.to_f
bigdecimal_number = number.to_d

(1000 / float_number)
# => 13707.455485038312
(1000 / bigdecimal_number)
# => 0.13707455485038e5

1000.div(float_number)
# => 13707
1000.div(bigdecimal_number)
# => 13707

1000.fdiv(float_number)
# => 13707.455485038312
1000.fdiv(bigdecimal_number)
# => 2.22360747e-314

‚È‚º 1000.fdiv(bigdecimal_number) ‚̂Ƃ«‚Í 13707 ‘䂳͂Ȃ­ 2.2 e-314 ‚ɂȂé‚ÌH
fdiv‚̈ø”‚Édecimal‚ÍŠú‘Ò‚³‚ê‚Ä‚¢‚È‚¢H

863 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/24(“y) 21:05:37.26 ID:xQuuF55sr.net]
‚Ç‚Á‚¿‚à•Ï‚í‚ç‚ñ
p 100.fdiv(float_number) # => 1370.745548503831
p 100.fdiv(biddecimal_number) # => 1370.745548504

864 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/24(“y) 21:19:23.51 ID:6XNLJEFJ0.net]
biddecimal‚—‚—‚—‚—‚—

865 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/24(“y) 21:23:11.77 ID:ehonUome0.net]
‚ ‚肪‚Æ‚¤
Žg‚Á‚Ä‚éruby‚̃o[ƒWƒ‡ƒ“‚ª’á‚·‚¬‚é‚Ý‚½‚¢‚¾

866 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 09:56:38.85 ID:/elpRfls0.net]
ruby‚̓o[ƒWƒ‡ƒ“ã‚°‚邯‘O“®‚¢‚½ƒR[ƒh‚ª“®‚©‚È‚¢‚©‚ç‚ÈB
‚»‚±‚ç‚Ö‚ñ‚̌݊·«‚Íjs>>php>>>python>>>ruby‚Ý‚½‚¢‚ÈŠ´‚¶B
s‚«“–‚½‚èƒoƒbƒ^ƒŠ‚ňȑO‚ÌŽd—l‹C‚É‚¹‚¸•Ï‚¦‚éB



867 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 10:48:16.22 ID:M7kzCKlu0.net]
>>828
php‚Í’m‚ç‚ñ‚¯‚Ç
js >> ruby >>> python ‚â‚ë

rails‚ƈá‚Á‚ÄrubyŽ©‘̂͌ã•ûŒÝŠ·«‚©‚Ȃ肂¢‚¼
CLIŒn‚È‚ç10”NˆÈã‘O‚Ì‚à‚Ì‚Å‚à‚¾‚¢‚½‚¢–â‘è‚È‚­Žg‚¦‚é

python‚àŒ¾ŒêŽ©‘̂͌ã•ûŒÝŠ·«‚‚¢‚ª
ƒo[ƒWƒ‡ƒ“‚²‚Æ‚Édeprecated/removed‚ɂȂéAPI‚Íruby‚æ‚肸‚Á‚Æ‘½‚¢
‚»‚ê‚à‚ ‚Á‚ăƒWƒƒ[‚ȃ‰ƒCƒuƒ‰ƒŠ‚ÌVƒo[ƒWƒ‡ƒ“‘Ήž‚Í’x‚­‚Ä
”¼”N‚­‚ç‚¢‘Ò‚½‚È‚¢‚ÆŒ¾Œê‚ÌV‚µ‚¢ƒo[ƒWƒ‡ƒ“‚ðŽg‚¦‚È‚¢‚µ
Œ¾Œê‚ÌVƒo[ƒWƒ‡ƒ“ + ƒ‰ƒCƒuƒ‰ƒŠ‚Ì‹Œƒo[ƒWƒ‡ƒ“‚Ì‘g‚݇‚킹‚¾‚Æ
“®‚©‚È‚­‚Ȃ闦‚ª‚‚­‚ă‰ƒCƒuƒ‰ƒŠ‚ÌAPI•ÏX‚É‚à‘Ήž‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢

868 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 11:02:35.93 ID:/elpRfls0.net]
Šm‚©‚Épython‚Í2Œn‚Æ3Œn‚ÍŠu₵‚Ă邯‚ǃ}ƒCƒi[ƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚Ńuƒb‰ó‚ê‚é‚Ì‚Íruby‚¾‚ë

869 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 11:36:06.65 ID:M7kzCKlu0.net]
>>830
—Ⴆ‚ÎH

870 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/25(“ú) 12:12:32.16 ID:usbfp6+yF.net]
CÅ‹­‚Å‚·‚Ë”»‚è‚Ü‚·

871 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 13:00:13.81 ID:vQGWPLvqr.net]
ƒ}ƒCƒi[ƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚ÅŒã•ûŒÝŠ·«‚ª‚Ô‚Á‰ó‚ꂽ—á
‰´‚à‹C‚ɂȂé‚ñ‚Å‹³‚¦‚Ä

872 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 13:25:50.19 ID:M7kzCKlu0.net]
>>829
‚æ‚­l‚¦‚邯js‚àƒNƒ‰ƒCƒAƒ“ƒgƒTƒCƒh‚¾‚¯‚¶‚á‚È‚­
ƒT[ƒo[ƒTƒCƒh‚Ål‚¦‚邯“®‚©‚È‚­‚Ȃ邱‚Æ‚ ‚é‚È

ruby‚âpython‚É”ä‚ׂÄV’‘ãŽÓ‚ªŒƒ‚µ‚­‚Ä
10”NŽg‚¢‘±‚¯‚½‚肵‚È‚¢‚©‚ç‹C‚ɂȂç‚È‚¢‚¾‚¯‚©‚à

873 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 17:55:59.08 ID:y6I5Oh6cM.net]
>>831
ƒŠƒŠ[ƒXƒm[ƒg‚Å‚à“Ç‚ßB
•W€ƒ‚ƒWƒ…[ƒ‹‚Ì•ÏX‚Æ‚©B

874 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 18:04:13.90 ID:MTjKoQS00.net]
JIS‹KŠi‰»‚³‚ê‚Ä‚é

875 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 18:42:02.16 ID:M7kzCKlu0.net]
>>835
ƒGƒAƒv‚Å‚µ‚½‚©
python‚ƈá‚Á‚Äruby‚Å‚Íu•W€ƒ‚ƒWƒ…[ƒ‹v‚Æ‚¢‚¤Œ¾‚¢•û‚Í‚µ‚È‚¢‚æ

876 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/25(“ú) 19:16:39.17 ID:y6I5Oh6cM.net]
>>837
‚ñ‚ÈŒ¾—t‚̈Ⴂ‚͂ǂ¤‚Å‚àB‚—
‚ÜAˆá‚¢‚É‚ ‚½‚ç‚È‚¯‚ê‚΂ǂ¤‚Æ‚¢‚¤‚±‚Ƃ͂Ȃ¢‚©‚çA‚



877 –¼‘OF·‚«‚É‚µ‚ëB

ŽÀÛ‚É‚ ‚½‚Á‚½l‚âAS”z«‚ɂ̓cƒ‰‚¢Œ¾ŒêB
3ˆÈ~‚ÍAâ‘΂ɂȂ¢ƒŒƒxƒ‹‚É‚µ‚Ăقµ‚¢‚à‚Ì‚¾B
‚Å‚«‚ê‚ÎPerlƒŒƒxƒ‹‚ÉB
[]
[‚±‚±‰ó‚ê‚Ă܂·]

878 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/26(ŒŽ) 15:04:44.51 ID:EltRWJ/HF.net]
Ruby ‚ª C++ ‚ð Hate ‚µ‚Ä‚é‚̂̓zƒ“ƒg—Ç‚­”»‚é

879 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/26(ŒŽ) 16:25:50.97 ID:NTmfRHBrM.net]
>>838
Perl‚àƒGƒAƒv‚©‚¢w
épék“¹‚ŋɊyò“y‚És‚¯‚邯‚¢‚¢ƒl

880 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/26(ŒŽ) 17:52:56.78 ID:yxMoBvg5M.net]
>>840
¡‚âPerl6‚Í‘¶Ý‚µ‚È‚¢‚±‚Æ‚ð’m‚ç‚È‚¢‚ÌH‚—

881 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/28(…) 21:30:30.88 ID:H1Ljm7vl0.net]
>>2
ƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO:RubyƒGƒfƒBƒVƒ‡ƒ“ (“ú–{Œê) ’Ps–{A2020/3A
Jay Fields/Shane Harvie/Martin Fowler/Kent Beck/’·”ö ‚O

Martin Fowler‚Ì–¼’˜wƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒOx‚ÌRuby‘Ήž‘S–ʉü’ù”Å‚ªA‚‚¢‚É•œŠ§!
Kent Beck ‚ÍAeXtreme Programming(XP)‚Ì’ñ¥ŽÒ

Java ”Å‚ðRuby‚Ö‘‚«’¼‚µ‚½‚à‚ÌB
2010”N‚Ì•œŠ§B8,800‰~I

882 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/10/31(“y) 08:20:00.50 ID:B8uNhuq7M.net]
ruby‰SŽÒ‚Å‚·B

ˆÈ‰º‚ÌNodeƒNƒ‰ƒX‚ÉEnumerable module‚ðinclude‚Å‚«‚邿‚¤‚Èeachƒƒ\ƒbƒh‚ð
’è‹`‚·‚邱‚Ƃ͂ł«‚Ü‚·‚©B

class Node
attr_accessor :data, :next
def initialize(data)
@data = data
@next = nil
end
end

883 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/31(“y) 14:36:23.15 ID:zTfIs5nt0.net]
uRuby Enumerable ŽÀ‘•v‚ÅŒŸõI

Ruby‚ÅŠÈŒ‰‚Éeach‚Ȃǂ̋@”\‚ðŽ‚ÂƒNƒ‰ƒX‚ðŽÀ‘•‚·‚é•û–@
https://ja.stackoverflow.com/questions/1593/ruby%E3%81%A7%E7%B0%A1%E6%BD%94%E3%81%ABeach%E3%81%AA%E3%81%A9%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%92%E6%8C%81%E3%81%A4%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

Ruby: Enumerable‚ðinclude‚·‚邿‚èEnumerator‚ð•Ô‚»‚¤
https://techracho.bpsinc.jp/hachi8833/2018_06_29/57698

884 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/10/31(“y) 15:21:36.29 ID:OmKC8x+Wd.net]
>>843
https://ideone.com/IjTOn4

885 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/01(“ú) 00:02:35.61 ID:X6j+EvTNM.net]
>>844 ‚³‚ñ
“Á‚ÉA>>845 ‚³‚ñ
ŽÀ‘•‚ð‹³‚¦‚Ä‚¢‚½‚¾‚¢‚ÄA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
https://ideone.com/IjTOn4‚É‹LÚ‚³‚ê‚Ä‚¢‚½ŽÀ‘•‚Í
Ž„‚Å‚Íl‚¦‚‚­‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
‰½‚ð•׋­‚µ‚½‚ç‘‚¯‚邿‚¤‚ɂȂé‚Ì‚©A”Y‚݂܂·B

‚¿‚Ȃ݂ɂł·‚ªAŽ„‚Ìl‚¦‚½each‚ÌŽÀ‘•‚͈ȉº‚̂悤‚È‚à‚̂ł·B
class Node
@@def each
@@while self.next != nil
@@yield self.data
@@self.self.next
@@end
@@end
end
i‚Å‚àAŽ„‚Ìeach‚Í“®ì‚µ‚Ü‚¹‚ñBj

886 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/01(“ú) 00:07:41.13 ID:X6j+EvTNM.net]
>> 844
self.self.next‚ÍAself = self.next‚ÌŒë‹L‚Å‚·B



887 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/02(ŒŽ) 02:18:36.47 ID:cH+o+Znx0.net]
Mix-in ‚Æ‚ÍA‰½‚©‚̃‚ƒWƒ…[ƒ‹‚ðinclude ‚·‚邯A
‚»‚ꂪŒp³ƒ`ƒF[ƒ“‚Ìe‚ÌŠ‚Ö“ü‚Á‚Ä‚­‚é‚©‚çA
‚»‚̃‚ƒWƒ…[ƒ‹“à‚ÌŠÖ”‚ªŽg‚¦‚邿‚¤‚ɂȂé

—Ⴆ‚ÎAinclude Enumerable ‚Æ‚·‚邯A
Ž©ƒNƒ‰ƒX‚ÅAeach ‚ð’è‹`‚µ‚Ä‚ ‚ê‚ÎAEnumerable“à‚Ì‚·‚ׂĂ̊֔‚ªŽg‚¦‚é

Array ‚àAEnumerable‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¢‚é‚©‚çA
Array“à‚ÌŠÖ”‚ÆAEnumerable“à‚ÌŠÖ”‚ªŽg‚¦‚é

‚‚܂蕒ʂÉA•¡”‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð”z—ñ‚É“ü‚ê‚Ä‚¨‚¯‚ÎA
ArrayEEnumerable“à‚ÌŠÖ”‚ªŽg‚¦‚é

‚Ù‚Æ‚ñ‚ÇA‚±‚Ì2‚‚̃Nƒ‰ƒX“à‚ÌŠÖ”‚΂©‚è

888 –¼‘OF‚ðŽg‚¤‚©‚çA
‚Ç‚¤‚¢‚¤Ž–‚ª‚Å‚«‚é‚©AŒ©‚Ä‚¨‚¢‚½•û‚ª‚æ‚¢

‚Ü‚½Aeach‚ð’è‹`‚¹‚¸‚ÉAEnumerable‚Ì‹@”\‚ðŽg‚¤‚É‚ÍAEnumerator ‚ðŽg‚¤B
each‚Í“à•”ƒCƒ^ƒŒ[ƒ^‚ÅAEnumerator‚ÍŠO•”ƒCƒ^ƒŒ[ƒ^

‰SŽÒ‚̓Cƒ^ƒŒ[ƒ^‚È‚Çl‚¦‚¸A•’ʂɔz—ñ“à‚É“ü‚ê‚Ä‚¨‚¯‚΂悢

ƒfƒUƒCƒ“ƒpƒ^[ƒ“‚È‚çA‚±‚Ì–{‚ª—Ç‚¢B
‰ü’ù2”Å Ruby‹tˆø‚«ƒnƒ“ƒhƒuƒbƒNA2018
[]
[‚±‚±‰ó‚ê‚Ă܂·]

889 –¼‘OF846 [2020/11/02(ŒŽ) 08:31:13.28 ID:cH+o+Znx0.net]
uRuby each ŽÀ‘•vuruby ƒCƒeƒŒ[ƒ^ ŽÀ‘•v‚ÅŒŸõI
“à•”EŠO•”ƒCƒeƒŒ[ƒ^‚̈Ⴂ‚àA’²‚ׂĂ݂ê‚ÎH

ruby each‚ÌŽÀ‘•
https://teratail.com/questions/117974

890 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/03(‰Î) 09:41:15.68 ID:XEwmRHqvp.net]
>>848‚³‚ñ
ƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
ަ‚µ‚Ä‚¢‚½‚¾‚¢‚½ƒL[ƒ[ƒh‚ðŽg‚Á‚ălƒbƒg‚Ìî•ñ‚ð“ǂ݋™‚Á‚Ă܂µ‚½B
ruby‚ÉŠÖ‚·‚éŠî–{“I‚È•¶–@’mޝ‚àŽã‚¢‚̂ł·‚ªAƒfƒUƒCƒ“ƒpƒ^[ƒ“‚Æ‚¢‚¤
l‚¦•ûHŽv‘zH‚à‚í‚©‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅA•¶–@‚ÌK“¾‚Æ•Às‚µ‚ĕ׋­‚ª•K—v‚¾‚Æ
Š´‚¶‚Ü‚µ‚½BC‹Æ‚µ‚Ü‚·B

891 –¼‘OF846 mailto:sage [2020/11/03(‰Î) 22:57:00.33 ID:pWieQE6j0.net]
Mix-in ‚Ì—á‚ÅAinclude Enumerable ‚µ‚ÄA
Enumerableƒ‚ƒWƒ…[ƒ‹“à‚ÌŠÖ”‚ªŽg‚¦‚邿‚¤‚ÉA
Ž©ƒNƒ‰ƒX‚ÅAeach ‚ðŽÀ‘•‚µ‚Ü‚µ‚傤‚Æ‚©A
‚±‚¤‚¢‚¤‚Ì‚ð‰SŽÒŒü‚¯‚ÅŒ©‚½‚±‚Æ‚ª‚È‚¢

‚Ù‚Æ‚ñ‚ÇA‚±‚¤‚¢‚¤Ž–‚ð‚â‚Á‚Ä‚él‚ÍA‚¢‚È‚¢‚ÆŽv‚¤

‚È‚º‚©‚Æ‚¢‚¤‚ÆAArray ‚ÍAEnumerable‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¢‚é‚©‚çA
”z—ñ‚É“ü‚ê‚ê‚ÎA‰½‚Å‚à‚Å‚«‚é‚©‚ç

‚¾‚©‚çA‚»‚à‚»‚àA‚Ç‚¤‚µ‚Ä‚±‚¤‚¢‚¤Ž–‚ð‚µ‚æ‚¤‚ÆŽv‚Á‚½‚Ì‚©A‹^–â‚ÉŽv‚¤

ƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ì‚¨‘èƒXƒŒ‚Ì–â‘è‚Å‚àA
‚·‚ׂÄAArray, Hash, Enumerable‚Å‰ð‚¯‚é

892 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/03(‰Î) 23:15:09.60 ID:eTFEu/to0.net]
>>851
’x‰„•]‰¿

893 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/04(…) 10:08:06.70 ID:wF8lqQTTF.net]
RubyAMŽÒ‚ÍA‚¨‚±‚Æ‚í‚è

894 –¼‘OF846 mailto:sage [2020/11/04(…) 23:31:34.08 ID:oOk5Pqvr0.net]
ˆê•”‚̃ƒ\ƒbƒh‚ÅA’x‰„•]‰¿‚Å‚«‚é

instance method Enumerable#lazy
lazy -> Enumerator::Lazy

map/collect, flat_map/collect_concat
select/find_all
reject
grep
take, take_while
drop, drop_while

ˆêŠÑ«‚Ì‚½‚ßAƒuƒƒbƒN‚ð“n‚³‚È‚¢ƒP[ƒX‚Ì‚Ýlazy
zip, cycle

895 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/04(…) 23:51:12.04 ID:lTVc+I7v0.net]
Enumerable‚Í‚ŠKŠÖ”‚ƂƂà‚É’E‰SŽÒ‚̈ê”Ô‚Ì–ÚˆÀ
‚±‚Ì2‚‚ðƒpƒp‚Á‚Æì‚Á‚ÄŽg‚¦‚邿‚¤‚ɂȂê‚ΉSŽÒ‚Í‘²‹Æ

896 –¼‘OF846 mailto:sage [2020/11/05(–Ø) 23:53:13.53 ID:lCe7ZMVj0.net]
Ruby ‚Ì‹­‚Ý‚ÍA

Array, Hash, Enumerable, Enumerator ‚Ì–L•x‚ȃƒ\ƒbƒh‚ðA
ƒƒ\ƒbƒhƒ`ƒF[ƒ“‚ł‚Ȃ°‚Ä‚¢‚­ƒvƒƒOƒ‰ƒ~ƒ“ƒO

‚Ç‚¤‚¢‚¤ƒƒ\ƒbƒh‚ª‚ ‚é‚Ì‚©A‚¶‚Á‚­‚茩‚Ä‚¨‚­‚ׂ«I



897 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/07(“y) 23:50:43.02 ID:DktN1QwS0.net]
TIOBE IndexAperl‚æ‚艺‚¶‚á‚ñ

898 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/08(“ú) 03:09:45.71 ID:YnyAcD/m0.net]
‚Æ‚¤‚Æ‚¤perl‚æ‚艺‚ɂȂÁ‚½‚©‚—
’a¶ŒoˆÜ‚—‘¶ÝˆÓ‹`‚ªc‚—

899 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/08(“ú) 10:17:52.02 ID:WJSuSySW0.net]
•¬‹à‚ЂÁ‚Ï‚è‚ñ‚²ƒrƒWƒlƒX

900 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/08(“ú) 10:46:31.03 ID:msYgn7TJM.net]
ƒGƒ“ƒxƒfƒbƒh¼‹\
ƒXƒgƒŠ[ƒ€¼‹\

901 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/08(“ú) 13:35:54.75 ID:P6MM9gKe0.net]
–â‘è@Ruby‚ðŠJ”­‚µ‚½‚̂͂¾‚ê‚©
“š‚¦@2‚¿‚á‚ñ‚Ë‚éŠJ”­ŽÒ‚Å‚à‚ ‚é‚Ђë‚ä‚«

ª‹’
https://programmercollege.jp/column/16456/

902 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/08(“ú) 16:28:40.45 ID:2D8TgavPM.net]
‚à‚¤‚·‚Á‚©‚èƒ}ƒCƒi[Œ¾Œê‚¾‚È

903 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/09(ŒŽ) 21:51:36.37 ID:A/fRbmyh0.net]
‰‚߂܂µ‚ÄAŒ»Ý‚Ì󋵂ÍRubyAWindows 10A VSCode(ƒGƒfƒBƒ^[‚Ì‚Ýj‚Å‚·B
ˆÈ‘OBasicŒ¾Œê‚ð‚â‚Á‚Ă܂µ‚½‚ªRuby‚ÌŒ¾Œê‚͕׋­‚µ‚Ü‚µ‚½B
‚PDRuby‚ÅVSCode‚֗̕˜‚ȃfƒoƒbƒK[‚͉½‚ª‚¢‚¢‚Å‚·‚©B
‚QDRuby‚ÅVSCode‚̃Cƒ“ƒ^[ƒlƒbƒg‚Ü‚½‚Í–{“™‚ÌŽg‚¢•û‚ð•׋­‚µ‚½‚¢B
‚RDgem‚ւ̃ƒOƒCƒ“‚Ì•û–@‚ð’m‚肽‚¢B
ˆÈã‚Ì‚R“_’m‚Á‚Ä‚él‚ª‚¢‚Ü‚µ‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢A‚¨Šè‚¢‚µ‚Ü‚·B

904 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/10(‰Î) 00:15:08.25 ID:TotITmpP0.net]
>>791
‚É‘‚¢‚½

˜R‚ê‚ÍAWindows 10, WSL1, Ubuntu 18.04 ‚ÅA
VSCode ‚ÌŠg’£‹@”\ARemote WSL ‚àŽg‚¤

WSL2 ‚ÆŒ¾‚¤AHyper-v ‚ðŽg‚Á‚½‚à‚Ì‚à‚ ‚邯‚ÇA
ˆÀ’èƒo[ƒWƒ‡ƒ“‚©‚Ç‚¤‚©‚ÍA’m‚ç‚È‚¢

VSCode‚֗̕˜‚ÈŠg’£‹@”\‚ɂ‚¢‚Ä‚ÍAVSCode‚̃XƒŒ‚Å•·‚¢‚Ä‚­‚¾‚³‚¢B
–{‚ÍA“O’ê‰ðàVisual Studio CodeA–{ŠÔç—ˆA2019/9

˜R‚ê‚Ì‚¨‚·‚·‚ߊg’£‹@”\ACode Runner
‰EƒNƒŠƒbƒNƒƒjƒ…[‚©‚çA‘I‘ð‚µ‚½ƒR[ƒhA‚Ü‚½‚̓tƒ@ƒCƒ‹‘S‘Ì‚ðŽÀs‚·‚é

‚±‚ÌÝ’è‚ðƒ`ƒFƒbƒN‚µ‚Ä‚¨‚­
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.

ƒfƒoƒbƒK[‚͘R‚ê‚ÍAp, pp, tap ‚ȂǂŌ©‚Ä‚é

VSCode‚ÌŠg’£‹@”\‚Å‚ÍARuby ‚Æ‚¢‚¤‚à‚Ì‚©‚ÈH
8ŒÂ‚ÌŠg’£‹@”\‚ðƒpƒbƒN‚µ‚½ARuby extension pack ‚Æ‚©H
˜R‚ê‚ÍA‚æ‚­’m‚ç‚È‚¢

gem ‚ŃCƒ“ƒXƒg[ƒ‹‚·‚é‚Ì‚ÍAbundler ‚¾‚¯I
‚»‚ÌŒã‚Í‘S‚ÄAbundler‚ŃCƒ“ƒXƒg[ƒ‹‚·‚é

gem‚ÍAˆË‘¶ŠÖŒW‚ðl—¶‚µ‚È‚©‚Á‚½‚Á‚¯H
gem‚ŃCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚àAˆË‘¶ŠÖŒW‚Å“®‚©‚È‚¢‚©‚à

gem, bundler ‚ɂ‚¢‚Ä‚ÍAŒŸõ‚µ‚Ä’²‚ׂĂ­‚¾‚³‚¢I

905 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/10(‰Î) 07:08:10.23 ID:yOpM0tMJr.net]
Ruby‚Å–{‚ÌŽg‚¢•û‚ð•׋­‚·‚é‚Á‚Ăǂ¤‚¢‚¤ˆÓ–¡H

906 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/10(‰Î) 12:09:50.03 ID:08CevRpcF.net]
Ruby ‘²‹Æ‚µ‚悤‚º ‚³‚Á‚³‚Æ



907 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/12(–Ø) 23:43:36.78 ID:9JGUhgPP0.net]
g++‚Å‚·
undefined reference to `ruby_init'
‚Æ•\ަ‚³‚ê‚Ü‚·
‚½‚Ô‚ñdll‚É“ü‚Á‚Ă邯Žv‚¤‚̂ł·‚ª‚Ç‚±‚É‚ ‚é‚̂łµ‚傤‚©H
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·

908 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/12(–Ø) 23:44:28.91 ID:9JGUhgPP0.net]
version‚Í2.7.0‚Å‚·

909 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/12(–Ø) 23:46:31.86 ID:1kfP87l60.net]
udumpbin Windowsv‚ÅŒŸõI

910 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/12(–Ø) 23:48:50.89 ID:9JGUhgPP0.net]
‚»‚à‚»‚àDLL‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ
‚Ù‚ñ‚Æ‚¨Šè‚¢‚µ‚Ü‚·

911 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 00:13:10.26 ID:1m9BN6xD0.net]
>>869
‰SŽÒ‚ɂ͈Ӗ¡•s–¾‚Å‚·

912 –¼‘OF862 mailto:sage [2020/11/13(‹à) 00:22:55.68 ID:LLS1FCOb0.net]
g++ ‚ÍAGNU ‚Ì GCC ‚Ɋ܂܂ê‚éAC++ƒRƒ“ƒpƒCƒ‰B
GNU ‚ÅAWindows Œü‚¯‚ÌDLL ‚ðì‚é‚ÌH

RubyInstaller ‚©H
MSYS2/MINGW ‚ÌARubyInstaller Development KitiDevKitj—L‚è‚©H
ridk install ‚ª‚Ç‚¤‚µ‚½‚±‚¤‚µ‚½‚Æ‚©H
‚æ‚­’m‚ç‚È‚¢‚¯‚Ç

https://rubyinstaller.org/downloads/

Windows 10, WSL, Linux ‚ŃRƒ“ƒpƒCƒ‹‚·‚é•û–@‚È‚çA
>>791
‚É‘‚¢‚½‚¯‚Ç

913 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 00:28:08.04 ID:1m9BN6xD0.net]
c++‚Éruby_init‚ð‘g‚Ýž‚ñ‚ł݂½‚¢‚Å‚·
ƒRƒ“ƒpƒCƒ‹ƒGƒ‰[‚ª‚ł܂·
‚³‚Á‚Ï‚è‚í‚©‚è‚Ü‚¹‚ñ

914 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 00:34:11.29 ID:1m9BN6xD0.net]
#include <ruby.h>

int main() {
// RubyƒCƒ“ƒ^ƒvƒŠƒ^‚̉Šú‰»
ruby_init();

// ƒXƒNƒŠƒvƒg‚ÌŽÀs
rb_eval_string("print 'Hello World!'");

// RubyƒCƒ“ƒ^ƒvƒŠƒ^‚̃NƒŠ[ƒ“ƒAƒbƒv
ruby_cleanup(0);
}

915 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 00:55:32.20 ID:4qY0TlDt0.net]
u‰SŽÒv‚Ì‚â‚邱‚Æ‚¶‚á‚Ë‚¦B‚—

916 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 01:16:13.61 ID:LLS1FCOb0.net]
³‹CH
‰SŽÒ‚ªA‚±‚ñ‚ÈŽ–‚ð‚·‚é–ó‚È‚¢‚¾‚ë

C/C++ ‚ðA””NˆÈã‚â‚Á‚Ä‚©‚ç‚̘b



917 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 01:17:12.74 ID:1m9BN6xD0.net]
‚»‚¤Œ¾‚킸‚ɃRƒ“ƒpƒCƒ‹‚Å‚«‚é•û–@‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢

918 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 01:52:06.56 ID:LLS1FCOb0.net]
ffi ‚Í C ‚â C++ ‚悤‚É쬂³‚ꂽ‹¤—Lƒ‰ƒCƒuƒ‰ƒŠ‚ðA
Ruby ‚ňµ‚¤‚±‚Æ‚ª‚Å‚«‚邿‚¤‚É‚·‚邽‚߂̃‰ƒCƒuƒ‰ƒŠ‚Å‚·

libffi ‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚ÅAŽ–‘O‚ɃCƒ“ƒXƒg[ƒ‹‚ª•K—v‚Å‚·B
NativeExtensions ‚ð’¼Úˆµ‚킸‚ÉAC ‚ð‘€ì‚Å‚«‚Ü‚·

ruby ffi “ü–å
https://hawksnowlog.blogspot.com/2019/0

919 –¼‘OF4/getting-started-ruby-ffi.html []
[‚±‚±‰ó‚ê‚Ă܂·]

920 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 01:57:04.06 ID:1m9BN6xD0.net]
‚»‚Ì‹t‚ª’m‚肽‚¢‚킯‚ÅBBB

921 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 02:03:07.72 ID:LLS1FCOb0.net]
C/C++ ‚©‚çARuby ‚ðŒÄ‚Ô•û–@‚©

ŒŸõ‚·‚ê‚ÎH

922 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 02:06:45.73 ID:1m9BN6xD0.net]
ŒŸõ‚µ‚½‚ñ‚Å‚·‚¯‚ÇŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½

923 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 03:33:11.86 ID:LLS1FCOb0.net]
Windows ‚Å‚ÍA–³—‚¶‚á‚È‚¢H

Linux ‚Å’T‚µ‚½•û‚ª—Ç‚¢‚©‚à

924 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 03:35:06.10 ID:ZgWaq86m0.net]
WindowsŽg‚Á‚Ä‚é‚Á‚Ä‚¾‚¯‚Å‹³‘c—l‚̆—߈ꉺ‚ÅÎ“Š‚°‚ç‚ê‚é‚Ì‚ªRubyƒRƒ~ƒ…ƒjƒeƒB‚¾‚©‚ç‚È
Python‚É‚µ‚Æ‚«

925 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 04:42:47.05 ID:b8ug5Yf30.net]
C/C++ ‚©‚ç Python ‚ðŒÄ‚Ô•û–@‚È‚ñ‚đܒ@‚«‚Ɉ§‚¤‚Ì‚ª
Python ƒRƒ~ƒ…ƒjƒeƒB‚Å‚·‚ªA‚»‚ꂪ‚Ȃɂ©‚Ç‚¤‚©‚³‚ê‚Ü‚·‚½HHH

926 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 04:53:52.48 ID:1m9BN6xD0.net]
“‚»‚¤‚Ȃ̂ł ‚«‚ç‚߂܂µ‚½



927 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 06:40:07.62 ID:LLS1FCOb0.net]
•’Ê‚ÍARuby ‚©‚çAC »‚ÌNArray ‚Ý‚½‚¢‚È‚‘¬‚ȃ‰ƒCƒuƒ‰ƒŠ‚ðŒÄ‚Ô

‹t‚ÉAC‚©‚çARuby‚ðŒÄ‚ÔŽ–‚͂Ȃ¢B
•’Ê‚ÉARubyƒRƒ}ƒ“ƒh‚ðŒÄ‚ׂΗǂ¢‚¾‚¯

—Ⴆ‚ÎARubyƒXƒNƒŠƒvƒg“à‚ÅAPython3 ƒRƒ}ƒ“ƒh‚ðŒÄ‚Ô

str = `python3 -c 'print( "‚ " )'`

puts str #=> ‚ 

928 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 07:00:14.39 ID:PGsPGVPV0.net]
‚Ü‚Â‚à‚ÆF‚»‚ê‚©‚çuBackquotesv‚Ì’nã‚°‚àl‚¦‚Ä‚¢‚½‚ñ‚Å‚·‚¯‚Ç‚àABackquotes‚ð‚·‚é‚ÆƒVƒFƒ‹‚ÅŽÀs‚µ‚ÄŒ‹‰Ê‚ð•¶Žš—ñ‚ŕԂ·‚Á‚Ă₂ł·‚ËB

iŽQ‰ÁŽÒ‚©‚çu‚¢‚¯‚éA‚¢‚¯‚év‚̺j

‚Ü‚Â‚à‚ÆF‚È‚ñ‚©‚ ‚̕ӂÅu‚¢‚¯‚éA‚¢‚¯‚év‚Á‚ÄŒ¾‚Á‚Ä‚él‚ª‚¢‚Ü‚·‚¯‚ÇAM‚¶‚È‚¢iÎjB‚Ȃ̂ÅA‚±‚ê‚à‚à‚¤‚¿‚å‚Á‚Ææ‚ÅA‚à‚¤1‰ñ‚­‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA­‚È‚­‚Æ‚à3.0‚ł͎€‚ȂȂ¢‚Æ‚¢‚¤‚±‚Ƃł·B
https://logmi.jp/tech/articles/321308

ƒo[ƒWƒ‡ƒ“‚É‚æ‚Á‚ÄŽg‚¦‚Ä‚½ƒNƒH[ƒg‚ªŽg‚¦‚È‚­‚È‚Á‚½‚è‚·‚éƒNƒ\Œ¾Œê

929 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 08:51:10.39 ID:LLS1FCOb0.net]
Python 2/3 ‚̃Rƒ~ƒ…ƒjƒeƒB[‚Ì•ª’f‚ÍA’n–‚¾‚Á‚½

‚¾‚©‚çRuby‚ÍA2/3 ‚Åâ‘΂ɕª’f‚³‚¹‚È‚¢I

930 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 09:27:17.47 ID:PGsPGVPV0.net]
ƒ}ƒCƒi[ƒo[ƒWƒ‡ƒ“‚Åר‚ꕪ’f‚µ‚Ă邩‚ç‚ÈB
‚»‚̕ӂ͔²‚©‚è‚È‚¢B

931 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/13(‹à) 12:02:41.44 ID:RWm0omqa0.net]
>>884
>C/C++ ‚©‚ç Python ‚ðŒÄ‚Ô•û–@‚È‚ñ‚đܒ@‚«‚Ɉ§‚¤‚Ì‚ª Python ƒRƒ~ƒ…ƒjƒeƒB
‰‚߂Ē®‚¢‚½‚¯‚ǂǂ±î•ñH

932 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/13(‹à) 12:09:12.42 ID:RWm0omqa0.net]
funktor.org/programming/cpp/embedding-ruby

933 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/13(‹à) 14:17:08.52 ID:/AMzz1sP0.net]
>>883
uŽ„‚ªWindows‚ðŒ™‚Á‚Ä‚¢‚é‚̂ł͂Ȃ­AWindows‚ªRuby‚ðŒ™‚Á‚Ä‚¢‚é‚Ì‚¾B‚¾‚©‚çWindows‚ðŽg‚Á‚Ă͂¢‚¯‚È‚¢Bv‚Æ‹³‘g—l‚ªŒ¾‚Á‚Ä‚½‚¯‚ÇB

934 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/13(‹à) 14:22:10.08 ID:RWm0omqa0.net]
‹³‘c‚àŒ¾‚Á‚Ă邯‚Ç
windows‚È‚çruby‚â‚ß‚ÄpythonŽg‚¤•û‚ªŠy‚¿‚ñ

935 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 14:47:22.41 ID:b3aeLCbPa.net]
ƒGƒ‰[‚ªo‚½‚̂ŕ‚¯‚Ăقµ‚¢‚Å‚·c
ƒ^[ƒ~ƒiƒ‹‚Årails db:create‚ð‚·‚é‚̉º‹L‚̂悤‚È•¶‚ªo‚Ü‚·c

Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `load'
2: from /Users/tech-camp/projects/tweet/bin/spring:10:in `<top (required)>'
1: from /Users/tech-camp/projects/tweet/bin/spring:10:in `read'
/Users/user/projects/tweet/bin/spring:10:in `read': No such file or directory @ rb_sysopen - /Users/user/projects/tweet/Gemfile.lock (Errno::ENOENT)

936 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 14:49:36.90 ID:b3aeLCbPa.net]
ƒGƒ‰[‚ªo‚½‚̂ŋ³‚¦‚Ăقµ‚¢‚Å‚·c
ƒ^[ƒ~ƒiƒ‹‚Årails db:create‚ð‚µ‚½‚炱‚̂悤‚ɂȂè‚Ü‚µ‚½c


Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `load'
2: from /Users/user/projects/tweet/bin/spring:10:in `<top (required)>'
1: from /Users/user/projects/tweet/bin/spring:10:in `read'
/Users/user/projects/tweet/bin/spring:10:in `read': No such file or directory @ rb_sysopen - /Users/user/projects/tweet/Gemfile.lock (Errno::ENOENT)



937 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 15:16:02.12 ID:9KKZC7FrM.net]
bundle install‚µ‚ĂȂ¢‚Æ‚©

938 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 15:45:24.78 ID:b3aeLCbPa.net]
‚Ü‚³‚É‚»‚ê‚Å‚µ‚½cI
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·cI

939 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/13(‹à) 17:04:48.25 ID:b4HB1/RK0.net]
>>867
$ export PKG_CONFIG_

940 –¼‘OFPATH="$HOME/.rbenv/versions/2.7.2/lib/pkgconfig"
$ gcc $(pkg-config --cflags --libs ruby-2.7) hello.c -o hello

ã‚Ì—á‚ÍWindows‚¶‚á‚È‚­macOS‚ÅrbenvŽg‚Á‚Ä‚éŠÂ‹«‚¾‚¯‚Ç
Windows‚Å‚à.pcƒtƒ@ƒCƒ‹‚ ‚邯Žv‚¤‚©‚çpkg-config‚Å•K—v‚ȃIƒvƒVƒ‡ƒ“Žæ“¾‚·‚ê‚Ηǂ¢‚ÆŽv‚¤‚æ
[]
[‚±‚±‰ó‚ê‚Ă܂·]

941 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/17(‰Î) 15:37:28.16 ID:+8mZ0oHh0.net]
Šg’£ƒ‰ƒCƒuƒ‰ƒŠ‚ɂ‚¢‚Ă̎¿–â‚Å‚·
ˆêŽŸŒ³”z—ñ‚Ìꇂ̓f[ƒ^‚ðŽæ“¾‚Å‚«‚½‚ñ‚Å‚·‚¯‚ÇA
“ñŽŸŒ³”z—ñ‚Ìꇂ͂ǂ¤‚·‚ê‚΂¢‚¢‚ñ‚Å‚µ‚傤‚©H
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·

//ˆêŽŸŒ³”z—ñ‚Ìê‡
num = rb_ary_entry(p_val, offset);
a = FIX2INT(num);

942 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/17(‰Î) 18:11:21.31 ID:PuHDpULa0.net]
VALUE, FIX2INT, RARRAY, rb_ary_entry

‚±‚ê‚ÍARuby ‚Ȃ̂©H
Šï–­

943 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/17(‰Î) 18:42:35.55 ID:PuHDpULa0.net]
Ruby ‚Å‚ÍAary[offset] ‚¾‚ëB
2ŽŸŒ³”z—ñ‚È‚çA

ary = [ [1, 2], [11, 12], [21, 22] ]

ary[0][1] = 99
p ary #=> [[1, 99], [11, 12], [21, 22]]

p ary.length #=> 3
p ary[0].length #=> 2

944 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/17(‰Î) 19:23:04.59 ID:yKNV/xx90.net]
>>899
”z—ñ—v‘fƒIƒuƒWƒFƒNƒg‚𑽒i‚ÉRArray*‚ɃLƒƒƒXƒg‚µ‚½‚炦‚¦‚ñ‚¿‚Ⴄ‚ÌH’m‚ç‚ñ‚¯‚ÇB

https://docs.ruby-lang.org/ja/latest/function/rb_ary_entry.html
https://docs.ruby-lang.org/ja/latest/function/RARRAY.html

>>900
’m‚ç‚ñ‚©‚Á‚½‚ç–Ù‚Á‚Æ‚­‚©AƒOƒO‚é‚­‚ç‚¢‚µ‚ëB

945 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/18(…) 19:49:47.73 ID:XrXdqU1w0.net]
‚â‚Á‚Ɖð‚è‚Ü‚µ‚½BBB
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½I
ary = [[0,1],[2,3],[4,5]]


num0 = rb_ary_entry(ary_val, 2);
num1 = rb_ary_entry(num0, 0);
a = FIX2INT(num1);

num0 = rb_ary_entry(ary_val, 2);
num1 = rb_ary_entry(num0, 1);
b = FIX2INT(num1);

sprintf(buf, "%d , %d", a, b);
MessageBox(NULL, buf, "", MB_OK);

946 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2020/11/24(‰Î) 05:57:29.80 ID:tcZG3tlz0.net]
ocra‚ðŽÀs‚µ‚Äexe‰»‚µ‚½‚̂ł·‚ªA
libssp-0.dll‚ª‚È‚¢‚Æ‚¢‚¤ƒGƒ‰[‚ªo‚ătƒŠ[ƒY‚µ‚Ü‚µ‚½
•ú‚Á‚Ä‚¨‚¯‚΂»‚Ì‚¤‚¿ocra‚ªƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚őΉž‚µ‚Ä‚­‚ê‚é‚ñ‚Å‚µ‚傤‚©H

ƒvƒƒOƒ‰ƒ€‚ÍA

puts "hoge"

‚¾‚¯‚Å‚·



947 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/24(‰Î) 06:47:14.40 ID:/T/Ll6K6r.net]
ƒtƒHƒ‹ƒ_–¼‚É“ú–{Œê¬‚´‚Á‚Ă邯ocraŽg‚¦‚È‚¢‚©‚ç‚»‚ê‚©‚à‚Ë

948 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2020/11/24(‰Î) 06:50:52.14 ID:/T/Ll6K6r.net]
“ú–{ŒêWindowsŠÂ‹«‚È‚çocra‚æ‚èneriŽg‚Á‚½‚Ù‚¤‚ª‚¢‚¢‚ÆŽv‚¤‚æ






[ ‘±‚«‚ð“Ç‚Þ ] / [ Œg‘єŠ]

‘O100 ŽŸ100 ÅV50 £ [ ‚±‚̃XƒŒ‚ðƒuƒbƒNƒ}[ƒNI Œg‘тɑ—‚é ] 2ch‚Ìread.cgi‚Ö
[{” ŋߗ§‚Á‚½ƒXƒŒ•”M‚¢ƒXƒŒˆê—— : {” ŋߗ§‚Á‚½ƒXƒŒ^‹LŽÒ•ʈꗗ]iGLÍMjƒ307KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
’S“–:undef