Skip to content

koichiro/rava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

---------------------
	Rava / JavaVM on Ruby

		written by K.Sasada
			---------------------
	------------------------
-----------------------


โ–  1 - Rava / JavaVM on Ruby

- Tue, 15 Oct 2002 09:47:06 +0900ใ€ๅˆ็จฟใ€‚

โ–ก 1.1 ใชใ‚“ใ˜ใ‚ƒใใ‚Šใ‚ƒ

Ruby ใงๆ›ธใ„ใŸ JavaVM ใงใ™ใ€‚JRuby ใฃใฆใ‚ใ‚‹ใ˜ใ‚ƒใชใ„ใงใ™ใ‹ใ€‚ใ‚ใ‚Œใฏใ€Java 
ใง Ruby ใ‚คใƒณใ‚ฟใƒผใƒ—ใƒชใ‚ฟๅ‹•ใ‹ใ™ใ‚„ใคใงใ™ใ‘ใ‚Œใฉใ‚‚ใ€ใ“ใ‚Œใฏใ€Ruby ใง Java ใƒใ‚ค
ใƒˆใ‚ณใƒผใƒ‰ใ‚’ๅ‹•ใ‹ใ—ใพใ™ใ€‚

ใฉใ†่€ƒใˆใฆใ‚‚ใ€ไฝฟใ†ๅˆฉ็‚นใฃใฆ๏ผˆๆฎ†ใฉ๏ผ‰็„กใ„ใ‚ˆใ†ใชๆฐ—ใ‚‚ใ—ใพใ™ใŒใ€‚

่ชฐใ‹่€ƒใˆใฆใใ†ใงใ€ใ ใ‘ใฉ๏ผˆใใฎ็„กๆ„ๅ‘ณใ•ใซ๏ผ‰่ชฐใ‚‚ไฝœใฃใฆใ„ใชใ‹ใฃใŸ๏ผˆไธ€ๅฟœใ€Google
ๆง˜ใฏ็Ÿฅใ‚‰ใชใ‹ใฃใŸ๏ผ‰ใ€‚

ใพใใ€ใ‚ธใƒงใƒผใ‚ฏใฎไธ€ใคใจใ—ใฆใ”็ฌ‘่ฆงใใ ใ•ใ„ใ€‚

โ–ก 1.2 ใคใ‹ใ†ใจใ†ใ‚Œใ—ใ„ใฒใจ

ใฉใ‚“ใชไบบใŒไฝฟใ†ใจใ†ใ‚Œใ—ใ„ใ‹ใจ็”ณใ—ใพใ™ใจใ€‚

- JavaVM ๅ‹‰ๅผทใ—ใŸใ„ใ‘ใฉใ€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ่ชญใ‚€ใฎ้ขๅ€’ใ ใชใใ€Ruby 
  ใ‚ฝใƒผใ‚นใฎใปใ†ใŒใ€่ชญใ‚€ใฎๆฅฝใ ใ—ใƒใ€ใจใ„ใ†ไบบ๏ผˆใ„ใ‚‹ใ‚“ใ‹ใใ‚“ใชใฎ๏ผ‰
- ใ‚‚ใ†ใ€Ruby ใ—ใ‹ไฝฟใ„ใŸใใชใ„ใ‘ใฉใ€ใ—ใ‚‡ใ†ใŒใชใ Java ใ‚’ไฝฟใ†ไบบ
  ๏ผˆใ†ใ‚Œใ—ใ„ใฎใ‹ใปใ‚“ใจใซ๏ผ‰

ๅฐ‘ใ—ใพใ˜ใ‚ใซ๏ผˆๅฟ…ๆญปใซๅˆฉ็‚นใ‚’่€ƒใˆใฆ๏ผ‰ใ€

- Java ใƒใ‚คใƒ†ใ‚ฃใƒ–ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ๆ›ธใใŸใ„ใ‘ใ‚Œใฉใ€ใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—ใ‚’ไฝœใ‚ŠใŸใ„
  (Ruby ใ‚นใ‚ฏใƒชใƒ—ใƒˆใงใƒใ‚คใƒ†ใ‚ฃใƒ–ใƒกใ‚ฝใƒƒใƒ‰ใ‹ใ‘ใ‚‹ใฎใงใ€ใƒ—ใƒญใƒˆใ‚ฟใ‚คใƒ—ใ‚’ไฝœใ‚‹ใฎใฏไพฟๅˆฉใ‹ใ‚‚ใ—ใ‚Œใชใ„)

ใงใ‚‚ใ€ใŸใ—ใ‹ JRuby ใ‚‚ใใ†ใ„ใ†ใ“ใจใงใใ‚‹ใ‚“ใ ใ‚ˆใญใ‡ใ€็ขบใ‹ใ€‚้•ใฃใŸใฃใ‘ใ€‚

Java ใฎใƒ—ใƒญใ‚ฐใƒฉใƒ ใŒ Ruby ใ‹ใ‚‰ๅ‘ผในใฆใ‚‚ใ€ใใ‚“ใชใ†ใ‚Œใ—ใ„ใ“ใจ็„กใ•ใใ†ใชๆฐ—ใŒ
ใ™ใ‚‹ใ—ใชใใ€‚

โ–ก 1.3 ใ‚‚ใใฆใ

่‡ชๅˆ†ใฎ็›ฎ็š„ใงใ™ใŒใ€‚

- Ruby ใฎ็ทด็ฟ’
- JavaVM ใฎๅพฉ็ฟ’
- ไปŠๅพŒใฎ็ ”็ฉถใฎใŸใ‚๏ผˆใปใ‚“ใจใ‹๏ผŸ๏ผ‰
- ็พๅฎŸ้€ƒ้ฟ๏ผˆๅ‹•ๆฉŸใฎ 50% ใใ‚‰ใ„๏ผ‰

โ–ก 1.4 ใคใ‹ใ„ใ‹ใŸ

ใพใšใ€jdk ใจใฃใฆใใฆใ€jdk/jre/lib/rt.jar ใ‚’่งฃๅ‡ใ—ใฆใ€*.class ใ‚’ใฐใ‚‰ใ—ใฆ
ใใ ใ•ใ„ใ€‚ๅ›บใพใฃใฆใ‚‹ใจใ€่ชญใ‚ใพใ›ใ‚“ใ€‚

ใ‚“ใงใ€ๅŒใ˜ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซ ไพ‹ใˆใฐ java/lang/* ใ‚’็ฝฎใ„ใฆใŠใใพใ™ใ€‚ใใ‚“ใงใ€
้ฉๅฝ“ใซๅ‹•ใ‹ใ—ใŸใ„ใ‚‚ใฎใ‚’ javac ใงไฝœใฃใฆใใ ใ•ใ„ใ€‚ใ‚ใจใฏๅ‹•ใ‹ใ™ใ ใ‘ใงใ™ใ€‚

>
ruby rava.rb [java class name] [args 1] [args 2] ...
>

ใงใ€ๅ‹•ใใพใ™ใ€‚ๅคšๅˆ†ใ€‚

ใพใŸใ€

>
ruby rjclass.rb [java class name]
>

ใงใ€ใ‚ฏใƒฉใ‚นใƒ•ใ‚กใ‚คใƒซใฎๆƒ…ๅ ฑใ‚’ใ€ใ“ใ‚Œใงใ‚‚ใ‹ใ€ใฃใฆใใ‚‰ใ„่กจ็คบใ—ใพใ™ใ€‚ใกใ‚‡ใฃใจ
ใ„ใ„ใ‹ใ’ใ‚“ใ ใ‘ใฉใ€‚

ใพใŸใ€

>
ruby rjnative.rb [java class name]
>

ใงใ€ใƒใ‚คใƒ†ใ‚ฃใƒ–ใƒกใ‚ฝใƒƒใƒ‰ๅฎš็พฉ็”จใฎ้››ใ‚’ๅใใพใ™ใ€‚

โ–ก 1.5 ใ ใ†ใ‚“ใ‚ใƒผใฉ

[[http://www.namikilab.tuat.ac.jp/~sasada/prog/raja001.lzh]]

Windows2000 Pro / ruby 1.6.7 mswin็‰ˆ ใ ใ‘ใงๅ‹•ไฝœ็ขบ่ชใ—ใฆใ„ใพใ™ใ€‚


โ–ก 1.6 ใŠใ‚„ใใใ

Ruby ใจๅŒใ˜ใƒฉใ‚คใ‚ปใƒณใ‚นใงใŠ้ก˜ใ„ใ—ใพใ™ใ€‚๏ผˆใจ่จ€ใฃใฆใŠใใจใ€้ขๅ€’ใŒใชใ„ใ‚‰ใ—ใ„
๏ผ‰ใ€‚

ๅŽŸๅ‰‡ใ€็งใซ่ฟทๆƒ‘ใŒใ‹ใ‹ใ‚‰ใชใ„ใ‚ˆใ†ใซใ€‚ใ‚ใจใฏๅฅฝใใซใ—ใฆใใ ใ•ใ„ใ€‚

ใƒใ‚ฐๅ ฑๅ‘Šใจใ‹ใ€ๅˆฉ็”จๅ ฑๅ‘Šใจใ‹ใ‚ใ‚‹ใจใ€ใ†ใ‚Œใ—ใๆ€ใ„ใพใ™ใ€‚

ใ‚ใ€่‘—ไฝœๆจฉใฏๆ”พๆฃ„ใ—ใพใ›ใ‚“ใ€‚ใจใ„ใ†ใ‹ใ€ใงใใพใ›ใ‚“๏ผŸ

โ–ก 1.7 ใ‚‚ใ†ใงใใฆใ‚‹ใ“ใจ

ใจใ‚Šใ‚ใˆใšไธฆในใฆใฟใพใ—ใŸใ€‚

- ใƒใ‚คใƒˆใ‚ณใƒผใƒ‰ๅŠๅˆ†ใใ‚‰ใ„?
- ใƒกใ‚ฝใƒƒใƒ‰ๅ‘ผใณๅ‡บใ—
- ใ‚นใ‚ฟใƒ†ใ‚ฃใƒƒใ‚ฏใƒกใ‚ฝใƒƒใƒ‰ๅ‘ผใณๅ‡บใ—
- ใƒ•ใ‚ฃใƒผใƒซใƒ‰่ชญใฟๆ›ธใ
- ใ‚นใ‚ฟใƒ†ใ‚ฃใƒƒใ‚ฏใƒ•ใ‚ฃใƒผใƒซใƒ‰่ชญใฟๆ›ธใ
- ใƒใ‚คใƒ†ใ‚ฃใƒ–ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ ruby ใงๆ›ธใๆ›ธใ
- ใ‚ฏใƒฉใ‚นใฎ่งฃ้‡ˆใƒป่กจ็คบ
- ็ถ™ๆ‰ฟใƒปใƒใƒชใƒขใƒ•ใ‚ฃใ‚บใƒ ใฎๅฎŸ็พ๏ผˆใƒกใ‚ฝใƒƒใƒ‰ๅ‘ผใณๅ‡บใ—ใงๅ‡บๆฅไธŠใŒใฃใฆใ‚‹ใฃใฆใ“ใจใ ใ‘ใฉ๏ผ‰

โ–ก 1.8 ใพใ ใงใใฆใชใ„ใ“ใจ

ใจใ‚Šใ‚ใˆใšใ€ใพใ ใŸใฃใใ•ใ‚“ใ‚ใ‚Šใพใ™ใ€‚

- ใƒใ‚คใƒˆใ‚ณใƒผใƒ‰ๅŠๅˆ†ใใ‚‰ใ„?
- ใ‚นใƒฌใƒƒใƒ‰
- ใ†ใ”ใ‹ใชใ„ใƒใ‚คใƒ†ใ‚ฃใƒ–ใƒกใ‚ฝใƒƒใƒ‰ใŒใ”ใ‚ใ”ใ‚
- ใƒใ‚คใƒ†ใ‚ฃใƒ–ใƒกใ‚ฝใƒƒใƒ‰ใฎใ‚‚ใ€œใฃใจ็ฐกๅ˜ใช่ฟฝๅŠ 
- jar ใ‚ขใƒผใ‚ซใ‚คใƒ–ใ‹ใ‚‰็›ดๆŽฅใ‚ฏใƒฉใ‚นใ‚’ใƒญใƒผใƒ‰
- ๅฎŒ็’งใชใ‚ณใƒผใƒ‰๏ผˆใƒใ‚ฐใŒ็ตๆง‹ใ‚ใ‚Šใใ†๏ผ‰
- ้€Ÿใ•๏ผˆใŠใ›ใƒผใƒปใƒปใƒป๏ผ‰
- ใƒ†ใ‚นใƒˆ๏ผˆใฉใƒผใ‚„ใฃใฆไฝœใ‚Œใฐใ„ใ„ใ‚“ใ ใ€ใ“ใ‚“ใชใ‚‚ใฎใซ๏ผ‰
- ใ™ใฆใใชๅๅ‰๏ผˆRava ใฏใ‹ใฃใ“ใ‚ใ‚‹ใ„ใž๏ผ‰
- ใพใ ใพใ ใ‚ใ‚Šใใ†

โ–ก 1.9 ใŠใ‚‚ใ†ใ“ใจ

Ruby ใ‚„ใฃใฑใ™ใ”ใ„ใ‚ใใ€‚ไธ€้€ฑ้–“ใ€ๅฎŸ่ณช้€ฑๆœซ3ๆ—ฅ้–“ใ ใ‘ใงใ“ใ‚Œใ ใ‘ใงใใกใ‚ƒใ†ใ‚“
ใ ใ‚‚ใ‚“ใชใใ€‚

ใพใ˜ใ‚ใช่ฉฑใ€ใ“ใ‚ŒใงVMใฎใƒŠใƒ‹ใŒ็ ”็ฉถใงใใ‚‹ใ‚“ใ˜ใ‚ƒใชใ„ใ‹ใจใ‚‚ใใ‚ใ‚“ใงใพใ™ใ€‚ใจ
ใ‚Šใ‚ใˆใšใ€ๆฅๅนดใฎไป•ไบ‹ใ ใ‘ใ‚Œใฉใ€ใใ‚Œใฏใ€‚

ใพใใ€ใ‚ธใƒงใƒผใ‚ฏใฃใฆใ“ใจใงไธ€ใคใ€‚

ๅๅ‰ใ€‚JRuby ใฎๅ‘ใ“ใ†ใ‚’ๅผตใฃใฆใ€RJava ใฃใฆใ—ใŸใ‹ใฃใŸใ‚“ใ ใ‘ใ‚Œใฉใ€ๆ—ขใซใ€rjava
, remote java ใฃใฆใ„ใ†ใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃใŒใ‚ใ‚‹ใใ†ใงๆ–ญๅฟตใ€‚ใจใ‚Šใ‚ใˆใš Ravaใ€‚
ใชใ‚“ใจใชใใ€ใ‚ทใƒ ใ‚ทใƒ†ใ‚ฃใƒผใฎๆ–ฐ่žใ‚’ๆ€ใ„ๅ‡บใ—ใพใ›ใ‚“ใ‹๏ผŸ

Ruby ใจ Java ใ€ใ„ใฃใŸใ‚ŠใใŸใ‚Šใ—ใฆใ‚ฝใƒผใ‚นๆ›ธใ„ใฆใ‚‹ใจใ€ใ ใ‚ใฃใ™ใญใ€‚ใจใ‚Šใ‚ใˆ
ใš Java ใŒใ‹ใ‘ใชใใชใฃใŸใ€‚ๆ–‡ๅญ—ๅˆ—ใ‚’''ใงๅ›ฒใ‚“ใงใฟใŸใ‚Šใ€';' ใ‚’ๅฟ˜ใ‚ŒใฆใฟใŸใ‚Šใ€‚

ๆ‹™ใ„ใ‚ฝใƒผใ‚นใงใ™ใŒใ€ๆ”นๅ–„็‚นใชใฉใ‚ใ‚Œใฐใ€ใ”ๆ•™ๆŽˆใ„ใŸใ ใ‘ใ‚Œใฐๅนธใ„ใงใ™ใ€‚


โ–  2 ใ‚Œใ‚“ใ‚‰ใใ•ใ

ใ”ๆ„่ฆ‹ใ€ใ”่ฆๆœ›ใ€ใ”่‹ฆๆƒ…ใฏใ“ใกใ‚‰ใฎใƒกใƒผใƒซใ‚ขใƒ‰ใƒฌใ‚นใธใŠ้ก˜ใ„ใ—ใพใ™ใ€‚

ใ€€[email protected]

ใพใŸใ€ไธ€ๆ™‚้…ๅธƒๅ…ˆใฏ

ใ€€http://www.namikilab.tuat.ac.jp/~sasada/

ใฎใฉใ“ใ‹ใซใ‚ใ‚‹ใจๆ€ใ„ใพใ™ใ€‚


ใชใŠใ€ๆœฌใƒ—ใƒญใ‚ฐใƒฉใƒ ใฏใ€ไธฆๆœจ็ ”็ฉถๅฎคใจใฏใ€ใ‚ใพใ‚Š้–ขไฟ‚ใŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚

ใ•ใ•ใ ใฎ่ถฃๅ‘ณใงใ™ใ€‚

ใ ใ‘ใฉใ€ไธŠใซ่ฟฐในใŸใจใŠใ‚Šใ€็ ”็ฉถใงๅˆฉ็”จใ™ใ‚‹ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚

ใ—ใชใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚


About

JavaVM on Ruby

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published