uz
Feedback
ToCode

ToCode

Kanalga Telegramโ€™da oโ€˜tish

ื˜ื™ืคื™ื ืงืฆืจื™ื ืœืžืชื›ื ืชื™ื ืžืืช ื™ื ื•ืŸ ืคืจืง

Ko'proq ko'rsatish
1 420
Obunachilar
+124 soatlar
+17 kunlar
-430 kunlar
Postlar arxiv
ToCode
1 420
ื‘ื•ื ื ื ืกื” ื”ืžืฉืคื˜ ืฉืื ื™ ื”ื›ื™ ืื•ื”ื‘ ืœื”ื’ื™ื“, ื•ื”ื›ื™ ืœื ืื•ื”ื‘ ืœืฉืžื•ืข. ืœื ื”ื™ื™ืช ืจื•ืฆื” ืœืฉืžื•ืข "ื‘ื•ื ื ื ืกื”" ืžื”ืจื•ืคืื” ืœืคื ื™ ืฉืืชื” ื ื›ื ืก ืœื ื™ืชื•ื—. ืœื ื”ื™ื™ืช ืจื•ืฆื” ืœืฉืžื•ืข "ืื•ืœื™ ื–ื” ื™ืขื‘ื•ื“" ืžื”ืื™ื ืกื˜ืœื˜ื•ืจ ื›ืฉื™ืฉ ืกืชื™ืžื” ื‘ืฆื ืจืช. ืื‘ืœ ื›ืžืชื›ื ืชื™ื "ื‘ื•ื ื ื ืกื”" ื”ื™ื ื”ืื•ืคืฆื™ื” ื”ื™ื—ื™ื“ื” ืงื“ื™ืžื”. ื›ืฉื”ื˜ื›ื ื•ืœื•ื’ื™ื” ืžืชืงื“ืžืช ื™ื•ืชืจ ืžื”ืจ ืžื”ืชื™ืขื•ื“, "ื‘ื•ื ื ื ืกื”" ื”ื•ื ื”ืกื™ืžืŸ ืฉืื ื—ื ื• ืคื•ืชืจื™ื ื‘ืขื™ื•ืช ื—ื“ืฉื•ืช, ืฉืื ื—ื ื• ืขื“ื™ื™ืŸ ืœื ื™ื•ื“ืขื™ื ืžื” ื™ืขื‘ื•ื“, ื•ืฉืื ื—ื ื• ืžื•ื›ื ื™ื ืœืงื—ืช ืืช ื”ืกื™ื›ื•ืŸ. ื‘ื•ื ื ื ืกื”. ืื•ืœื™ ื–ื” ื™ืขื‘ื•ื“.

ToCode
1 420
ืื‘ืœ ื–ื” ืขื•ื‘ื“ ื™ืฉ ื“ื‘ืจื™ื ื‘ืชื›ื ื•ืช ืฉื”ื ื‘ืืžืช ืงืฉื™ื ืื• ืืคื™ืœื• ื‘ืœืชื™ ืืคืฉืจื™ื™ื. ืจื•ื‘ ื”ื–ืžืŸ ืื ื—ื ื• ื™ื•ื“ืขื™ื ืœื–ื”ื•ืช ืื•ืชื ื•ืœื”ื™ืžื ืข ืžื”ื, ืื• ืื ืžื—ืœื™ื˜ื™ื ืœื”ืชืžื•ื“ื“ ืขื ืืชื’ืจ ื›ื–ื” ืœื”ืงืฆื•ืช ืœื• ืืช ื”ืžืฉืื‘ื™ื ื”ื ื“ืจืฉื™ื (ื•ื’ื ืœื”ื™ื•ืช ืขืจื•ื›ื™ื ืœื›ื™ืฉืœื•ืŸ). ืื‘ืœ ืจื•ื‘ ื”ื‘ืขื™ื•ืช "ื”ืงืฉื•ืช" ื”ืŸ ื‘ื›ืœืœ ืœื ื›ืืœื”. ื›ืœื•ืžืจ ื”ืงื•ืฉื™ ื”ื•ื ืžืœืื›ื•ืชื™ ื‘ื’ืœืœ ืกื˜ ื›ืœื™ื ืื• ืื™ืœื•ืฆื™ื ืžืกื•ื™ื ืฉื›ื‘ืจ ื‘ื—ืจื ื•. ื–ื” ื”ืฆื•ืจืš ืœื”ืฉืชืžืฉ ื‘ืงื•ืžืคื•ื ื ื˜ื” ืžืกื•ื™ืžืช ืฉื›ืชื•ื‘ื” ืœืื ื’ื•ืœืจ, ืื‘ืœ ื”ืžืขืจื›ืช ืฉืœืš ื‘ื ื•ื™ื” ื‘ืจื™ืืงื˜. ืื• ื”ืจืฆื•ืŸ ืœืฉืœื‘ ืกืคืจื™ื™ืช ืงื•ื“ ืฉืœื ืžืกืชื“ืจืช ื‘ื’ื™ืจืกืื•ืช ืขื ืกืคืจื™ื” ืื—ืจืช ืฉื›ื‘ืจ ื ืžืฆืืช ื‘ื™ื™ืฉื•ื. ืื• ืฉืื™ืœืชื” ืœื‘ืกื™ืก ื ืชื•ื ื™ื ืฉืขื•ื‘ื“ืช ืžืžืฉ ื‘ืกื“ืจ ื‘ืคื™ืชื•ื— ืื‘ืœ ืขืœ ืžื™ื“ืข ืืžื™ืชื™ ื‘ืคืจื•ื“ืงืฉืŸ ืœื•ืงื—ืช ื™ื•ืชืจ ืžื“ื™ ื–ืžืŸ. ื•ื‘ืžืฆื‘ื™ื ื”ืืœื” ืฉืื ื™ ืจืง ืจื•ืฆื” ืœืฆืขื•ืง "ืื‘ืœ ื–ื” ืขื•ื‘ื“!" ื•ืœืคืชื•ื— ืคืจื•ื™ืงื˜ Green Field ืžืืคืก ืฉื‘ื• ื”ื›ืœ ื™ืกืชื“ืจ, ืื ื™ ืื•ื”ื‘ ืœื”ื–ื›ื™ืจ ืœืขืฆืžื™ ืฉื—ืœืง ืžื”ืžืฉื—ืง ื–ื” ื‘ื“ื™ื•ืง ืœืขื‘ื•ื“ ื‘ืชื•ืš ืžืขืจื›ืช ื”ืื™ืœื•ืฆื™ื. ืœื–ื”ื•ืช ืืช ื”ืคืกื™ืง ื”ืงื˜ืŸ ืฉืœื ืžืกืชื“ืจ ืขื ื”ืžืขืจื›ืช ื”ืงื™ื™ืžืช ื•ืœื”ืฆืœื™ื— ืœืฉืœื‘ ืืช ื”ื“ื‘ืจื™ื ื‘ืœื™ ืœืฉื‘ื•ืจ.

ToCode
1 420
ื™ืฆื™ืื” ืžืœื•ืœืื” ื‘ืกืงืืœื” ื”ืชื•ื›ื ื™ืช ื”ื‘ืื” ื‘ืคื™ื™ืชื•ืŸ ืงื•ืจืืช ืฉื•ืจื•ืช ืžื”ืžืฉืชืžืฉ, ืžื“ืคื™ืกื” ื›ืœ ืฉื•ืจื” ื—ื–ืจื” ื•ืขื•ืฆืจืช ื›ืฉืžื™ืฉื”ื• ื›ืชื‘ ืืช ื”ืžื™ืœื” stop:
while True:
    line = input()
    print(line)
    if line == "stop":
        break
ื‘ื•ืื• ื ื ืกื” ืœืชืจื’ื ืื•ืชื” ืœืกืงืืœื”. ื’ื™ืจืกื” 1 - ืžื™ืœื” ื‘ืžื™ืœื” ื ื™ืกื™ื•ืŸ ืœืชืจื’ื•ื ืžื™ืœื•ืœื™ ืœืกืงืืœื” ืœื ื ืฉืžืข ืžืกื•ื‘ืš, ืจืง ืฆืจื™ืš ืœืžืฆื•ื ืืช ื”ืžืงื‘ื™ืœื” ื‘ืกืงืืœื” ืœื›ืœ ืคืงื•ื“ื” ื‘ืคื™ื™ืชื•ืŸ. ืœื•ืœืืช while ื ืฉืืจืช ืœื•ืœืืช while, ืคืงื•ื“ืช input ื”ื•ืคื›ืช ืœ readLine, ืชื ืื™ ื ืฉืืจ ืชื ืื™ - ืื‘ืœ ืžื” ืœื’ื‘ื™ ื” break?
def v1(): Unit =
  while (true) {
    val line = readLine()
    println(line)
    if (line == "stop") {
      // ???
    }
  }
ื“ื•ื•ืงื ื”ืคืงื•ื“ื” ื”ื›ื™ ื—ืฉื•ื‘ื” ื‘ืชื•ื›ื ื™ืช ืœื ืงื™ื™ืžืช ื‘ืฆื•ืจื” ืžื•ื‘ื ื™ืช ื‘ืกืงืืœื”. ื’ื™ืจืกื” 2 - ื” break ืฉืœ ืกืงืืœื” ื”ื’ื™ืฉื” ืฉืœ ืกืงืืœื” ืœ break ื”ื™ื ืงืฆืช ืžื•ื–ืจื”. ื‘ืžืงื•ื ืœื”ื•ืกื™ืฃ ืžื™ืœื” ืœืฉืคื” ื”ื ืžืฉืชืžืฉื™ื ื‘ืžื ื’ื ื•ืŸ ื”ืžื•ื‘ื ื” ืฉืœ Exception - ืžื™ ืฉืจื•ืฆื” ืœืขืฆื•ืจ ื‘ืืžืฆืข ืœื•ืœืื” ื–ื•ืจืง Exception, ื•ืงื•ื“ ืฉืขื•ื˜ืฃ ืืช ื”ืœื•ืœืื” ืชื•ืคืก ืืช ื” Exception ื•ืžืžืฉื™ืš ื‘ืชื•ื›ื ื™ืช. ื™ืฉ ืงื™ืฆื•ืจื™ ื“ืจืš ื›ืžื•ื‘ืŸ ืื– ื”ืงืœืืก boundary ืื—ืจืื™ ืขืœ ืขื˜ื™ืคืช ื”ืœื•ืœืื” ื‘ืงื•ื“ ืฉืชื•ืคืก Exceptions ื•ื”ืคื•ื ืงืฆื™ื” break ื”ื™ื ื‘ืกืš ื”ื›ืœ throw. ื”ืงื•ื“ ื ืจืื” ื›ื›ื”:
def v2(): Unit =
  boundary {
    while (true) {
      val line = readLine()
      println(line)
      if (line == "stop") {
        break()
      }
    }
  }
ื”ืžื™ืžื•ืฉ ืฉืœ break (ืžื•ื‘ื ื” ื‘ืฉืคื”, ืœื ืฆืจื™ืš ืœื›ืชื•ื‘ ืœื‘ื“) ื”ื•ื:
  def break[T](value: T)(using label: Label[T]): Nothing =
    throw Break(label, value)
ื•ื”ืžื™ืžื•ืฉ ืฉืœ boundary (ืฉื•ื‘ ืœื ืฆืจื™ืš ืœื›ืชื•ื‘ ืœื‘ื“, ืžื’ื™ืข ืขื ื”ืฉืคื”) ื”ื•ื:
  inline def apply[T](inline body: Label[T] ?=> T): T =
    val local = Label[T]()
    try body(using local)
    catch case ex: Break[T] @unchecked =>
      if ex.label eq local then ex.value
      else throw ex
ื’ื™ืจืกื” 3 - ื”ื’ื™ืฉื” ื”ืคื•ื ืงืฆื™ื•ื ืืœื™ืช ื’ื™ืจืกื” ืงืฆืช ืคื—ื•ืช ืžื•ื–ืจื” ืฉืœ ืื•ืชื• ืงื•ื“ ืชืฉืชืžืฉ ื‘ takeWhile ื‘ืชื•ืจ ืชื—ืœื™ืฃ ืœ while ืฉืœ ืคื™ื™ืชื•ืŸ. ื”ื™ืชืจื•ืŸ ื‘ takeWhile ื”ื•ื ืฉืœื ืฆืจื™ืš break, ืคืฉื•ื˜ ืžืกื™ื™ืžื™ื ืืช ื”ืื™ื˜ืจืฆื™ื” ืขื ืขืจืš "ืฉืงืจ" ื›ื“ื™ ืœืขืฆื•ืจ. ื–ื” ื”ืงื•ื“:
def v3(): Unit =
  LazyList.from(0).takeWhile(_ => {
    val line = readLine()
    println(line)
    line != "stop"
  }).toList

ToCode
1 420
ื”ื™ื•ื ืฉืื—ืจื™ ืคื•ืœื™ื˜ื™ืงืื™ื ืœื ืื•ื”ื‘ื™ื ืœื“ื‘ืจ ืขืœ "ื”ื™ื•ื ืฉืื—ืจื™" ื›ื™ ื”ื ืคื•ื—ื“ื™ื ืœื”ื’ื™ื“ ืžืฉื”ื• ืฉืื—ืจื™ ื–ื” ื™ืชื ืงื ื‘ื”ื, ืื• ืฉืœื ืจื•ืฆื™ื ืœืกื’ื•ืจ ืื•ืคืฆื™ื•ืช. ืื ื™ ืžื‘ื™ืŸ ืืช ื–ื”. ื’ื ื‘ืงืจื™ื™ืจื” ื”ืžื—ืฉื‘ื” ืขืœ ื”ื™ื•ื ืฉืื—ืจื™ ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืžื“ื›ืืช. ืื™ืคื” ืื”ื™ื” ื‘ืขื•ื“ ื—ืžืฉ ืฉื ื™ื? ืขืœ ืื™ื–ื” ืคืจื•ื™ืงื˜ื™ื ืืขื‘ื•ื“? ื”ืื ื–ื” ืขื“ื™ื™ืŸ ื™ืขื ื™ื™ืŸ ืื•ืชื™? ื”ื‘ืขื™ื” ืขื ืœื ืœื—ืฉื•ื‘ ืขืœ ื”ื™ื•ื ืฉืื—ืจื™ ื”ื™ื ืฉ"ื”ื™ื•ื ืฉืื—ืจื™" ื™ื’ื™ืข ื‘ื™ืŸ ืื ื ืจืฆื” ืื• ืœื. ื•ื™ื•ืชืจ ืงืœ ืœื‘ื ื•ืช ืืช ื”ื—ื™ื™ื ื”ื˜ื•ื‘ื™ื ื‘ื™ื•ื ืฉืื—ืจื™ ื›ืฉืžืชื—ื™ืœื™ื ืœืชื›ื ืŸ ืžื”ื™ื•ื.

ToCode
1 420
ืฉื™ืžื• ืœื‘: ื”ื’ื“ืจืช ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ื‘ืชื—ื™ืœืช ืคืงื•ื“ื” ืจื•ื‘ ื” Shell-ื™ื ืชื•ืžื›ื™ื ื‘ื›ืชื™ื‘ ืฉืœ ื”ื’ื“ืจืช ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืœืคื ื™ ืคืงื•ื“ื” ื•ื‘ื’ืœืœ ื–ื” ืืคืฉืจ ืœื›ืชื•ื‘:
FOO=10 bash -c 'echo $FOO'
ื•ืœืงื‘ืœ ืขืœ ื”ืžืกืš ืืช ื”ืžืกืคืจ 10. ืื‘ืœ ื›ืฉืœื•ืงื—ื™ื ืืช ื”ืืžืช ื”ืคืฉื•ื˜ื” ื”ื–ืืช ืœ Dockerfile ื”ื—ื™ื™ื ืขืœื•ืœื™ื ืœื”ืกืชื‘ืš. ื”ืจื‘ื” ืคืขืžื™ื ื‘ื›ืชื™ื‘ืช Dockerfile ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘ && ื›ื“ื™ ืœืฉืœื‘ ื›ืžื” ืคืงื•ื“ื•ืช, ืœื“ื•ื’ืžื”:
RUN apt-get update && apt-get install cowsay
ืื‘ืœ ืื ื ื ืกื” ืœื”ื•ืกื™ืฃ ืžืฉืชื ื” ืกื‘ื™ื‘ื” ื‘ืชื—ื™ืœืช ื”ืฉื•ืจื” ืœื“ื•ื’ืžื” ื‘ืฉื‘ื™ืœ ืœืžื ื•ืข ื”ืชืงื ื” ืื™ื ื˜ืจืงื˜ื™ื‘ื™ืช ืฆืคื•ื™ื” ืœื ื• ื”ืคืชืขื”:
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install cowsay
ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” ืจืœื•ื•ื ื˜ื™ ืจืง ืœืคืงื•ื“ื” ื”ืจืืฉื•ื ื” ื‘ืจืฆืฃ ื•ืœื ืžืฉืคื™ืข ืขืœ ื”ืคืงื•ื“ื” ืฉืื—ืจื™ื”. ืืคืฉืจ ืœื”ื™ื•ื•ื›ื— ื‘ื–ื” ื‘ืงืœื•ืช ืื ื ื—ื–ื•ืจ ืœืคืงื•ื“ื” ืžืชื—ื™ืœืช ื”ืคื•ืกื˜:
FOO=10 bash -c 'echo $FOO' && bash -c 'echo $FOO'
ื”ืคืขื ื”ืฉื•ืจื” ืชื“ืคื™ืก 10 ืจืง ืคืขื ืื—ืช, ืœืžืจื•ืช ืฉืคืงื•ื“ืช ื”ื”ื“ืคืกื” ืžื•ืคื™ืขื” ืคืขืžื™ื™ื. ืžื” ืขื•ืฉื™ื? ืืคืฉืจื•ืช ืื—ืช ื”ื™ื ืœื”ื•ืกื™ืฃ ืืช ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” ื‘ื›ืœ ืคืงื•ื“ื” ืฉืžืจื™ืฆื™ื ื’ื ื›ืฉืžื—ื‘ืจื™ื ื›ืžื” ืคืงื•ื“ื•ืช ื™ื—ื“, ื›ืœื•ืžืจ:
RUN DEBIAN_FRONTEND=noninteractive apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install cowsay
ืืคืฉืจื•ืช ืงืฆืช ื™ื•ืชืจ ื ื•ื—ื” ื”ื™ื ืœื”ื•ืกื™ืฃ ืื•ืชื• ื‘ืฉื•ืจืช ENV ืœืคื ื™ ื”ืจืฆืช ื”ืคืงื•ื“ื”:
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install cowsay

ToCode
1 420
ื”ื“ืฃ ื”ื›ื™ ื—ืฉื•ื‘ ื‘ืชื™ืขื•ื“ (ืฉื‘ืจื•ื‘ ื”ืžืงืจื™ื ื‘ื›ืœืœ ืœื ื›ืชื•ื‘) ื”ื“ืฃ ื”ื›ื™ ื—ืฉื•ื‘ ื‘ืชื™ืขื•ื“ ืฉืœ ืกืคืจื™ื” ื”ื•ื ืœื ื”ื”ืกื‘ืจ ืขืœ ื”ืกืคืจื™ื”, ืœื ื”ืชื™ืื•ืจื™ื” ืฉืขื•ืžื“ืช ื‘ื‘ืกื™ืกื” ื•ืืคื™ืœื• ืœื ื”ื“ืฃ ืฉืžืชืืจ ืืช ื”ืคื™ืฆ'ืจื™ื ื”ืžืชืงื“ืžื™ื ืฉืœ ื”ืกืคืจื™ื”. ื›ืœ ืืœื” ื—ืฉื•ื‘ื™ื ื•ืขื•ื–ืจื™ื ืื‘ืœ ืžื™ ืฉื™ืงืจื ืจืง ืื•ืชื ืขืœื•ืœ ืœืžืฆื•ื ืืช ืขืฆืžื• ื‘ื”ืžืฉืš ื”ื“ืจืš ืขื ื‘ืื’ื™ื ืฉืžืื•ื“ ืงืฉื” ืœืคืชื•ืจ. ื”ืกื™ื‘ื” ื”ื™ื ืฉื‘ืขื‘ื•ื“ื” ืขื ืกืคืจื™ื” ื—ื“ืฉื” ืงืฉื” ืžืื•ื“ ืœืจืื•ืช ืืช ื”ืžืงืจื™ื ื‘ื”ื ื”ืกืคืจื™ื” ืœื ืขื•ื‘ื“ืช ืื• ืœื ืขื•ื‘ื“ืช ื˜ื•ื‘. ื‘ื“ื•ื’ืžื” ืžืขืฉื™ืช ืœื ืžื–ืžืŸ ื‘ื ื™ืชื™ ืคืจื•ื™ืงื˜ ืขื ืฉืจืช ื”ืคืฆืช ื•ื™ื“ืื• ืžืกื•ื™ื, ืจืง ื‘ืฉื‘ื™ืœ ืœื’ืœื•ืช ืžืื•ื—ืจ ืžื“ื™ ืฉืขื‘ื•ืจ ื” Use Case ืื™ืชื• ื”ืชืžื•ื“ื“ื ื• ื”ืฉืจืช ื”ื•ืกื™ืฃ Lag ืžืฉืžืขื•ืชื™ ืœื•ื™ื“ืื•, ื•ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืื™ ืืคืฉืจ ื”ื™ื” ืœื”ืฉืชืžืฉ ื‘ืคื™ืชืจื•ืŸ ื‘ืกื‘ื™ื‘ืช ื”ืคืจื•ื“ืงืฉืŸ. ื‘ื’ืœืœ ื–ื” ื›ืœ ื›ืš ืื”ื‘ืชื™ ืœืžืฆื•ื ืืช ื“ืฃ ื”"ื‘ืื™ื–ื” ืžืฆื‘ื™ื ื”ืžื ื’ื ื•ืŸ ืฉืœื ื• ืœื ื™ืขื™ืœ" ื›ืฉืฉื™ื—ืงืชื™ ืขื ืกืคืจื™ื™ืช Loro. ืžืฆื“ ืื—ื“ ื”ืžืฆื‘ื™ื ืฉืžืชื•ืืจื™ื ืฉื ื‘ืจื•ืจื™ื ืžืื•ื“, ื•ืขื“ื™ื™ืŸ ืงืœ ืœืจืื•ืช ืื™ืš ืžืฉืชืžืฉื™ื ื—ื“ืฉื™ื ื‘ืกืคืจื™ื” ื™ืคืกืคืกื• ืื•ืชื ื‘ื’ืœืœ ื—ืฉื™ื‘ื” ื—ื™ื•ื‘ื™ืช. ื•ื›ืžื•ื‘ืŸ ืื ืื™ืŸ ืœื›ื ืžื–ืœ (ืžื” ืฉืงื•ืจื” ืจื•ื‘ ื”ื–ืžืŸ) ื•ืืชื ืœื•ืžื“ื™ื ืกืคืจื™ื” ื—ื“ืฉื” ืžืืคืก, ืืœ ืชื•ื•ืชืจื• ืขืœ ืฉื™ื—ื” ื ื•ืงื‘ืช ืขื ื”ื—ื‘ืจื™ื Chat GPT ื•ื’ื•ื’ืœ ื›ื“ื™ ืœื–ื”ื•ืช ื›ืžื” ืฉื™ื•ืชืจ ืžืฆื‘ื™ื ื‘ืขื™ื™ืชื™ื™ื ืœืคื ื™ ืฉื™ื•ืฆืื™ื ืœื“ืจืš.

ToCode
1 420
ื”ืงื•ืฉื™ ืœื–ื”ื•ืช ื‘ืฉืจ ืžืงื•ืœืงืœ ื ื›ื•ืŸ ื”ื•ื ืœื ืžืจื™ื— ื”ื›ื™ ื˜ื•ื‘, ืื‘ืœ ืื•ืœื™ ืื ื™ ืจืง ืžื“ืžื™ื™ืŸ. ืื•ืœื™ ื–ื” ื™ืขื‘ื•ืจ ื‘ื‘ื™ืฉื•ืœ. ืื•ืœื™ ื–ื” ืชืžื™ื“ ืžืจื™ื— ื›ื›ื”. ื”ืงื•ืฉื™ ืœื–ื”ื•ืช ื‘ืฉืจ ืžืงื•ืœืงืœ ื”ื•ื ืœื ื‘ืขื™ื” ื‘ืืฃ ืืœื ื‘ืขื™ื” ื‘ืจืืฉ. ื–ื” ื”ืงื•ืฉื™ ืœืงื‘ืœ ืืช ื–ื” ืฉื”ืขื•ืœื ืœื ืขื•ื‘ื“ ื›ืžื• ืฉืจืฆื™ืช ืฉื™ืขื‘ื•ื“. ื”ืงื•ืฉื™ ืœืงื‘ืœ ืืช ื”ืžืฆื™ืื•ืช ื•ืœื‘ื—ื•ืจ ืชื•ื›ื ื™ืช ื—ื“ืฉื”. "ืื ื™ ืœื ืจื•ืฆื” ืฉื–ื” ื™ื”ื™ื” ืžืงื•ืœืงืœ" ืœื ื™ื”ืคื•ืš ืื•ืชื• ืœื˜ืจื™.

ToCode
1 420
ื”ื™ื•ื ืœืžื“ืชื™: ืคื•ื ืงืฆื™ื” ืฉืžื—ื–ื™ืจื” ืคื•ื ืงืฆื™ื” ื‘ืกืงืืœื” ืžื” ืฉื‘ื™ื ืชื™ื™ื ืื ื™ ืžืื•ื“ ืื•ื”ื‘ ื‘ืกืงืืœื” ื–ื” ืชื—ื‘ื™ืจ ืฉื›ื•ืœืœ ืื™ื ืกื•ืฃ ืคื™ื ื•ืงื™ื ืงื˜ื ื™ื ืฉื ืจืื™ื ื›ืžื• ืงืกื. ื•ื›ืŸ ื‘ืจื•ืจ ืœื’ืžืจื™ ืฉื”ืชื•ืฆืื” ื”ื™ื ืฉืคื” ืžืื•ื“ ืœื ื™ื“ื™ื“ื•ืชื™ืช ืœืื ืฉื™ื ืžื‘ื—ื•ืฅ. ื’ื ื–ื” ื—ืœืง ืžื”ืงืกื. ืื—ื“ ื”ื˜ืจื™ืงื™ื ืฉืœืžื“ืชื™ ืœืื—ืจื•ื ื” ื”ื•ื ืงื™ืฆื•ืจ ื“ืจืš ืœืคื•ื ืงืฆื™ื” ืฉืžื—ื–ื™ืจื” ืคื•ื ืงืฆื™ื”. ืžื” ืฉื‘ JavaScript ื ืจืื” ื›ื›ื”:
const add = x => y => x + y;
(ืฉื’ื ื‘ืฉืขืชื• ื ืจืื” ืœื™ ื›ืžื• ืงืกื ืื‘ืœ ื”ื™ื•ื ื›ื‘ืจ ื”ื’ื™ื•ื ื™ ืœื’ืžืจื™). ื•ื‘ืคื™ื™ืชื•ืŸ ืื ื—ื ื• ื›ื•ืชื‘ื™ื:
def add(x):
    return lambda y: x + y
ืžืงื‘ืœ ื‘ืกืงืืœื” ืงื™ืฆื•ืจ ื“ืจืš ื›ื‘ืจ ื‘ืจืžืช ื”ื—ืชื™ืžื” ืฉืœ ื”ืคื•ื ืงืฆื™ื”:
def add(x: Int)(y: Int): Int = x + y
ื•ืžื” ืฉื™ืคื” ื‘ืงื™ืฆื•ืจ ื”ื–ื” ื”ื•ื ื“ื•ื•ืงื ืžื” ืฉืื™ืŸ ื‘ื• - ื‘ืขื•ื“ ืฉื‘ืคื™ื™ืชื•ืŸ ื•ื‘ JavaScript ื™ืฉ ืœื™ ืžืงื•ื ืœื”ื•ืกื™ืฃ ืงื•ื“ ืœืคื ื™ ืฉืื ื™ ืžื—ื–ื™ืจ ืืช ืคื•ืงื ืฆื™ื™ืช ื”ื”ืžืฉืš, ื‘ืกืงืืœื” (ืขื ืชื—ื‘ื™ืจ ื”ืงื™ืฆื•ืจ) ื–ื” ืœื ืงื™ื™ื, ื•ื›ื›ื” ืœื ืฆืจื™ืš ืœื”ืกืชื‘ืš ื•ืœืงื‘ืœ ืจืขื™ื•ื ื•ืช ืฉืื—ืจื™ ื–ื” ื ืชื—ืจื˜ ืขืœื™ื”ื. ื•ื›ืŸ ืกืงืืœื” ื’ื ืžืืคืฉืจืช ืœื›ืชื•ื‘ ืืช ื”ื’ื™ืจืกื” ื”ื™ื•ืชืจ ืžืคื•ืจืฉืช ืœืื•ืชื• ืงื•ื“:
def add2(x: Int): (y: Int) => Int = { y =>
  x + y
}
ืื‘ืœ ื–ื” ืคืฉื•ื˜ ืคื—ื•ืช ื™ืคื”.

ToCode
1 420
ื›ืฉื“ื‘ืจื™ื ืคืฉื•ื˜ื™ื ื“ื•ืจืฉื™ื ื”ืจื‘ื” ืงื•ื“ ืœืคื ื™ ื›ืžื” ื™ืžื™ื ื‘ืคื•ืกื˜ ืฉื“ื™ื‘ืจ ืขืœ ืื™ื–ื” Design Pattern ื‘ืจื™ืืงื˜ ื ืชืงืœืชื™ ื‘ืงื˜ืข ื”ื–ื” ื‘ืชื•ืš ืงื•ืžืคื•ื ื ื˜ืช ืจื™ืืงื˜:
//...
  const [loading, setLoading] = useState<boolean>(false);
  const [data, setData] = useState<Item[] | null>(null);
  const [error, setError] = useState<Error | undefined>(undefined);

  useEffect(() => {
    const fetchData = async () => {
      setLoading(true);

      try {
        const response = await fetch("/api/users");

        if (!response.ok) {
          const error = await response.json();
          throw new Error(\Error: ${error.error || response.status}\);
        }

        const data = await response.json();
        setData(data);
      } catch (e) {
        setError(e as Error);
      } finally {
        setLoading(false);
      }
    };

    fetchData();
  }, []);

//...
ืื ื™ ื™ื•ื“ืข ืฉื–ื” ืฉื‘ื•ืจ. ืืชื ื™ื•ื“ืขื™ื ืฉื–ื” ืฉื‘ื•ืจ. ื•ืžื™ ืฉื›ืชื‘ ืืช ื”ืคื•ืกื˜ ื™ื•ื“ืข ืฉื–ื” ืฉื‘ื•ืจ. ืจืฉื™ืžืช ืžืฉืชืžืฉื™ื ืฉืžื’ื™ืขื” ืžื”ืจืฉืช ื”ื™ื ืœื State ืฉืœ ืงื•ืžืคื•ื ื ื˜ื”, ื›ื™ ืื™ ืืคืฉืจ ืœืงืฉื•ืจ ื‘ื™ืŸ "ื›ืžื” ื–ืžืŸ ื”ืžื™ื“ืข ืฉืงื™ื‘ืœืชื™ ืžื”ืจืฉืช ื ืฉืืจ ื‘ืชื•ืงืฃ" ืœ"ื›ืžื” ื–ืžืŸ ื”ืงื•ืžืคื•ื ื ื˜ื” ื ืฉืืจืช ืขืœ ื”ืžืกืš". ื•ืื ื™ ืžื‘ื™ืŸ. ื”ืงื•ื“ ืฉื ื›ื™ ืืชื” ืจื•ืฆื” ืœื‘ื ื•ืช ื“ื•ื’ืžื” ืฉื™ื”ื™ื” ืœืื ืฉื™ื ืคืฉื•ื˜ ืœื”ื‘ื™ืŸ ืื•ืชื”, ื•ืœื ืจื•ืฆื” ืœื”ื›ื ื™ืก ืขื›ืฉื™ื• react-query ืื• swr ื›ื™ ืื•ืœื™ ืื ืฉื™ื ืœื ืžื›ื™ืจื™ื ืืช ื”ืกืคืจื™ื” ื”ืกืคืฆื™ืคื™ืช ืฉื‘ื—ืจืช ื•ื‘ืฉื‘ื™ืœ ืžื” ืœื”ื›ื ื™ืก ืขื›ืฉื™ื• ืขื•ื“ ืชืœื•ืช. ื’ื ืื ื™ ืœืคืขืžื™ื ืžืคืฉืœ ื‘ื–ื”. ื”ื‘ืขื™ื” ื”ืืžื™ืชื™ืช ื”ื™ื ืฉื”ืฆื™ืคื™ื•ืช ืฉืœื ื• ืœื ืชื•ืืžื•ืช ืœืžืฆื™ืื•ืช. ืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืฉืžืฉื™ื›ืช ืžื™ื“ืข ืžืจื—ื•ืง ื‘ืจื™ืืงื˜ ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืงืœื”, ืื‘ืœ ื‘ืคื•ืขืœ ืจื™ืืงื˜ ืœื ืžื˜ืคืœ ื‘ื–ื” ื•ื‘ื ื™ื™ืช ืžื ื’ื ื•ืŸ ื ื›ื•ืŸ ืฉืœ ืชืงืฉื•ืจืช ื“ื•ืจืฉืช ื”ืจื‘ื” ืงื•ื“. ืฆื™ืคื™ื•ืช ืœื ืจื™ืืœื™ื•ืช ื™ื›ื•ืœื•ืช ืœืงืœืงืœ ืคื•ืกื˜ื™ื ืื‘ืœ ื™ืฉ ืœื”ืŸ ื”ืฉืคืขื” ื”ืจื‘ื” ื™ื•ืชืจ ื’ืจื•ืขื” ืขืœ ื”ืขืจื›ื•ืช ื–ืžื ื™ื. ืžืชื›ื ืชื™ื ืฉืœื ืžื›ื™ืจื™ื ืžืกืคื™ืง ื˜ื•ื‘ ืืช ืจื™ืืงื˜ ืขืฉื•ื™ื™ื ืœืฆืคื•ืช ืœืคืชื•ืจ ื‘ืขื™ื” ื‘ืฉื•ืจื”, ื›ืฉื‘ืคื•ืขืœ ื–ื” ื™ื™ืงื— ืœื”ื ื›ืžื” ื™ืžื™ื. ื—ื“ืฉื•ืช ื˜ื•ื‘ื•ืช? ืื™ืŸ ืžืžืฉ. ื‘ืขื‘ื•ื“ื” ืขื ื˜ื›ื ื•ืœื•ื’ื™ื” ืฉืื ื—ื ื• ืœื ืžื›ื™ืจื™ื ื™ื”ื™ื• ื”ืคืชืขื•ืช. ืœืคืขืžื™ื ื“ื‘ืจื™ื ืฉืื ื—ื ื• ื‘ื˜ื•ื—ื™ื ืฉืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืžืžืฉ ืงืœื™ื ื™ื•ืฆืื™ื ื ื•ืจื ืžืกื•ื‘ื›ื™ื, ื•ืœืคืขืžื™ื ืื ื—ื ื• ื ื›ืชื•ื‘ ื’ื™ืจืกืื•ืช ืœื ื˜ื•ื‘ื•ืช ืฉืœ ืงื•ื“ ืจืง ื‘ื’ืœืœ ืฉืžืฆืื ื• ืžืฉื”ื• ืฉืขื•ื‘ื“ ื‘ืจืฉืช ื•ืื ื—ื ื• ืœื ืจื•ืฆื™ื ืœื”ืกืชื‘ืš ืขื ืคื™ืชืจื•ืŸ ื™ื•ืชืจ ืžืกื•ื‘ืš. ื‘ื“ื™ื•ืง ื‘ื’ืœืœ ื–ื” ืื ื—ื ื• ืชืžื™ื“ ืฆืจื™ื›ื™ื ืœืงื—ืช ืžืงื“ืžื™ ื‘ื™ื˜ื—ื•ืŸ ื‘ื”ืขืจื›ื•ืช ื–ืžื ื™ื ื•ืœื”ืฉืื™ืจ ื–ืžืŸ ืœืจื™ืคืงื˜ื•ืจื™ื ื’ ื‘ื”ืžืฉืš.