Vala ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด 0.50.0์šฉ ์ปดํŒŒ์ผ๋Ÿฌ ์ถœ์‹œ

์ถœ์‹œ ๋จ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์šฉ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์ƒˆ ๋ฒ„์ „ ๋ฐœ๋ผ 0.50.0. Vala ์ฝ”๋“œ๋Š” C ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณ€ํ™˜๋˜๊ณ , ์ด๋Š” ๋‹ค์‹œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋˜์–ด ๋Œ€์ƒ ํ”Œ๋žซํผ์—์„œ ๊ฐœ์ฒด ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†๋„๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Vala๋Š” GNOME์—์„œ C(C, Vala, Python, C++) ๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด์ด์ž Elementary OS์˜ ์ฃผ์š” ์–ธ์–ด์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

Vala ์–ธ์–ด๋Š” ๊ตฌ๋ฌธ์ด C#๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•˜๋ฉฐ ๊ฐ์ฒด ์ง€ํ–ฅ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์™„๋ฒฝํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ๊ฒ€์‚ฌ, ์œ ํ˜• ์ถ”๋ก , ์ปดํŒŒ์ผ ๋‹จ๊ณ„(Swift์˜ ๊ฒฝ์šฐ ARC)์—์„œ ์†Œ๋ฉธ์ž ํ˜ธ์ถœ์˜ ์ž๋™ ๋Œ€์ฒด๋กœ ์ธํ•œ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘, ๋žŒ๋‹ค ํ•จ์ˆ˜, ์‹ ํ˜ธ ๋ฐ ์Šฌ๋กฏ ๊ฐœ๋…(Qt์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ์–ธ์–ด ์ˆ˜์ค€์—์„œ ๊ตฌํ˜„๋จ), ๋ฌธ์ž์—ด์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์œ ํ˜•, ์ผ๋ฐ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋ฐฐ์—ด ์Šฌ๋ผ์ด์‹ฑ, ์ปฌ๋ ‰์…˜ ์—ด๊ฑฐ ์—ฐ์‚ฐ์ž foreach, ๋Œ€๋ฆฌ์ž, ํด๋กœ์ €, ์ธํ„ฐํŽ˜์ด์Šค, ์†์„ฑ ๋ฐ ์˜ˆ์™ธ.

๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€๊ฒฝ:

  • ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ ๊ณผ ๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ๊ณ„๋‹จ์‹ ํ†ตํ™”. With with์—์„œ๋Š” ์ง€์—ญ ๋ณ€์ˆ˜ ์ƒ์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    (var x = y())๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

    ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ:

    ๊ฐ€๋Š” ๊ฐ€์ง€())

    ์‹ ํ˜ธ ์—ฐ๊ฒฐ, ์—„๊ฒฉํ•จ null์ด ์•„๋‹˜ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  new "with"๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

  • ์ƒˆ๋กœ์šด ํ†ต์‚ฌ๋ก  ์กฐ๊ฐ - ์ด์ œ ๋น„์–ด ์žˆ์Œ์ด ์ปฌ๋ ‰์…˜์˜ ์ฒซ ๋ฒˆ์งธ ๋˜๋Š” ๋งˆ์ง€๋ง‰ ์š”์†Œ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

    ๋ฐฐ์—ด[begin:] => ๋ฐฐ์—ด[begin:array.length-1] ๋ฐฐ์—ด[:end] => ๋ฐฐ์—ด[0:end] ๋ฐฐ์—ด[:] => ๋ฐฐ์—ด[0:array.length-1]

  • ์‰ฝ๊ฒŒ ํ•œ Vala์—์„œ C ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ๋‹ค์‹œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค(ํ”„๋กœ์ ํŠธ๊ฐ€ C์—์„œ Vala ์ฝ”๋“œ๋ฅผ ๋งŽ์ด ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ).
  • ๊ตฌํ˜„๋จ ํ•จ์ˆ˜ ๋ณธ๋ฌธ์ด ์žˆ๋Š” ๊ฐ€์ƒ ์‹ ํ˜ธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ์— ์˜ํ•ด ์ œ๊ณต ์ž์‹ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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