์ž„๋ฒ ๋””๋“œ mruby 3.2 ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๋™์  ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด Ruby์šฉ ์ž„๋ฒ ๋””๋“œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ธ mruby 3.2 ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Mruby๋Š” ํŒจํ„ด ์ผ์น˜("case .. in") ์ง€์›์„ ์ œ์™ธํ•˜๊ณ  Ruby 3.x ์ˆ˜์ค€์—์„œ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๊ฐ€ ์ ๊ณ  Ruby ์–ธ์–ด ์ง€์›์„ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋‚ด์žฅํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋‚ด์žฅ๋œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋Š” Ruby ์–ธ์–ด์˜ ์†Œ์Šค ์ฝ”๋“œ์™€ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ "mrbc" ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ป์€ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. mruby ์†Œ์Šค ์ฝ”๋“œ๋Š” MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ํŠน๋ณ„ํžˆ ํ˜•์‹ํ™”๋œ Ruby ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ, ๋„ ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ ๋˜๋Š” ํ•ด์ œ ํ›„ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” 19๊ฐ€์ง€ ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๋น„๋ณด์•ˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ต๋ช… ์ธ์ˆ˜(*, **, &) ์ „๋‹ฌ ์ง€์›
  • ํฐ ์ •์ˆ˜(mruby-bigint)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™•์žฅ์ž๊ฐ€ ".mrb"์ธ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • mrbc ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์ตœ์ ํ™”๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด "--no-optimize" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • mruby-class-ext์—์„œ Class#subclasses ๋ฐ Module#undefine_instance_methods ๋ฉ”์†Œ๋“œ ๊ตฌํ˜„.
  • ์ƒˆ๋กœ์šด ๋‚ด์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ mruby-errno, mruby-set, mruby-dir ๋ฐ mruby-data.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€