Yarn: x0, x1 ๋˜๋Š” x1, x2?

์— ๋งŒ๋“  2019๋…„ 11์›” 05์ผ  ยท  9์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: FabricMC/yarn

์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ๋‘ ๊ฐ€์ง€๊ฐ€ ํ˜ผํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • 0 ๋ฐ 1 ์Šคํƒ€์ผ์€ 0์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๋ชฉ๋ก ์ธ๋ฑ์Šค์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • 1 ๋ฐ 2 ์Šคํƒ€์ผ์€ "first" ๋ฐ "second"๋ผ๋Š” ๋‹จ์–ด์™€ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
discussion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ x1 ๋ฐ x2 ํˆฌํ‘œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. S ๋ฐ E ์ ‘๋ฏธ์‚ฌ๋Š” ์‹ค์ œ ์‹œ์ž‘๊ณผ ๋์ด ์žˆ์„ ๋•Œ๋งŒ ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ์ฐจ๋ผ๋ฆฌ from ๋ฐ to ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

๋ชจ๋“  9 ๋Œ“๊ธ€

๋‚˜๋Š” 0๊ณผ 1์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ t1 ๋Œ€์‹  t0์ด ์ดˆ๊ธฐ t ๋“ฑ์„ ์˜๋ฏธํ•˜๋Š” ๋งŽ์€ ์ˆ˜ํ•™์  ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๋‹ฌ๋ผ. ์ด ๊ฒฝ์šฐ "0"์€ "์ตœ์ดˆ"๊ฐ€ ์•„๋‹Œ "์ดˆ๊ธฐ"๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(์ดˆ๊ธฐ t๊ฐ€ 0 t์ด๊ธฐ ๋•Œ๋ฌธ์—).

์ธ๋ฑ์Šค์˜ ๊ฒฝ์šฐ ๊ฐœ์ธ์ ์œผ๋กœ (x_1, x_2, ...)๊ฐ€ (x_0, x_1, ...)๋ณด๋‹ค ๋” ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. https://en.wikipedia.org/wiki/0#Mathematics ์ฐธ์กฐ :

์ˆซ์ž 0์€ ์ž์—ฐ์ˆ˜๋กœ ๊ฐ„์ฃผ๋˜๊ฑฐ๋‚˜ ๊ณ ๋ ค๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ https://en.wikipedia.org/wiki/Cartesian_product#n -ary_Cartesian_product:

(x_1, ..., x_n)

Mojang๊ณผ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณด๋ฉด 0๊ณผ 1๋ณด๋‹ค 1๊ณผ 2๊ฐ€ ํ›จ์”ฌ ๋” ์ผ๋ฐ˜์ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ [a-z]1 ๊ฒ€์ƒ‰ํ•œ ํ›„ ๋‚ด๊ฐ€ ์ฐพ์€ ๋ชจ๋“  ๊ฒฐ๊ณผ๋Š” something1 ๋ฐ something2 ๋Œ€ํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค something0 ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • DataFixerUpper์—์„œ: mapBoth(final Function<? super L, ? extends C> f1, final Function<? super R, ? extends D> f2);
  • Brigadier: (e1, e2) -> e1 ( CommandNode ๋žŒ๋‹ค
  • java.io.FileSystem : rename(File f1, File f2)
  • java.awt.geom.Line2D ํ•„๋“œ์˜ ์ด๋ฆ„์€ x1 ๋ฐ x2 ์ž…๋‹ˆ๋‹ค.

์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์‹œ์ž‘+์ข…๋ฃŒ ์š”์†Œ์— ๋Œ€ํ•ด S ๋ฐ E ์ ‘๋ฏธ์‚ฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋” ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ x1 ๋ฐ x2 ํˆฌํ‘œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. S ๋ฐ E ์ ‘๋ฏธ์‚ฌ๋Š” ์‹ค์ œ ์‹œ์ž‘๊ณผ ๋์ด ์žˆ์„ ๋•Œ๋งŒ ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ์ฐจ๋ผ๋ฆฌ from ๋ฐ to ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

x0 , x1 , x2 , ๋‚˜์—๊ฒŒ ๊ฑฐ์˜ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ •๋ง๋กœ ๊ทธ๊ฒƒ๋“ค์„ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” @Pyrofab ํŽธ์— from ๋ฐ to ๋˜๋Š” start ๋ฐ end ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

startX , endX
fromX , toX
minX , maxX

์ˆซ์ž๊ฐ€ 2๊ฐœ ์ด์ƒ์ธ ๊ฒฝ์šฐ์—๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. x0 , x1 , x2 "ํ•˜๋‚˜, ๋‘˜, ์…‹, ์ฒซ์งธ, ๋‘˜์งธ, ์…‹์งธ"๋ณด๋‹ค ๋” ๋‚˜์€ ์ด๋ฆ„์€ ์—†์Šต๋‹ˆ๋‹ค.

from , start , min ์™€ ๊ฐ™์€ ๋‹จ์–ด์˜ ๋ฌธ์ œ๋Š” ๊ทธ๋“ค ์‚ฌ์ด์— ์ผ์ข…์˜ ์ฐจ์ด์ ์ด ์žˆ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” min ์™€ max ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋‚ฎ์•„์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ start ์™€ end ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค start ์–ด๋”˜๊ฐ€์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์–ด๋”˜๊ฐ€์—์„œ ๋๋‚˜๋Š” ๊ธธ ๊ฐ™์€ ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ x1 ์™€ x2 ๋ฅผ ์„œ๋กœ ๋ฐ”๊ฟ” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋‚ฎ์•„์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Box ์˜ ํ•„๋“œ ์ด๋ฆ„์ด xMin/xMax์—์„œ x1/x2๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰