Sorbet, เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ›เบฐเป€เบžเบ”เบ„เบปเบ‡เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบš Ruby, เปเบกเปˆเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”.

เบšเปเบฅเบดเบชเบฑเบ” Stripe, เบŠเปˆเบฝเบงเบŠเบฒเบ™เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบงเบ—เบตเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเปเบฒเบฅเบฐเบญเบญเบ™เป„เบฅเบ™เปŒ, เป€เบ›เบตเบ” เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เป‚เบ„เบ‡เบเบฒเบ™ เบžเบนเบ”เบญเบ, เปƒเบ™เบ™เบฑเป‰เบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ›เบฐเป€เบžเบ”เบ„เบปเบ‡เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ Ruby เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบก. เบฅเบฐเบซเบฑเบ”เบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C ++ เปเบฅเบฐ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ Apache 2.0.

เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเป€เบžเบ”เปƒเบ™เบฅเบฐเบซเบฑเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ„เบดเบ”เป„เบฅเปˆเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เปเบฅเบฐเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ เบ„เปเบฒเบšเบฑเบ™เบเบฒเบ, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบต sig (เบ•เบปเบงเบขเปˆเบฒเบ‡, โ€œsig {params(x: Integer).returns(String)}โ€) เบซเบผเบทเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™ rbi. เบกเบตเปƒเบซเป‰ เป€เบ›เบฑเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เบชเบฐเบ–เบดเบ” เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™, เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ” (เป€เบ›เบตเบ” เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบก "require 'sorbet-runtime'" เปƒเบชเปˆเบฅเบฐเบซเบฑเบ”.

เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰ เบเบฒเบ™เปเบ›เป€เบ—เบทเปˆเบญเบฅเบฐเบเป‰เบฒเบง เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ Sorbet - เบฅเบฐเบซเบฑเบ”เบชเบฒเบกเบฒเบ”เบชเบปเบกเบ—เบปเบšเบ—เบฑเบ‡เบชเบญเบ‡เบšเบฅเบฑเบญเบเบ—เบตเปˆเบžเบดเบกเบ”เป‰เบงเบเบ„เปเบฒเบšเบฑเบ™เบเบฒเบเปเบฅเบฐเบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบžเบดเบกเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบเบงเบกเป€เบญเบปเบฒเป‚เบ”เบเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบเบฑเบ‡เบ›เบฐเบเบญเบšเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡เบซเบผเบฒเบเปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบฅเป‰เบฒเบ™เป€เบชเบฑเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”.

เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบกเบต kernel เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบ›เบฐโ€‹เป€เบžเบ” staticโ€‹,
เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบซเบกเปˆเป‚เบ”เบเบ™เปเบฒเปƒเบŠเป‰ Sorbet, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป‚เบญเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰ Sorbet, runtime เบ—เบตเปˆเบกเบตเบžเบฒเบชเบฒเบชเบฐเป€เบžเบฒเบฐเป‚เบ”เป€เบกเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบ›เบฐเป€เบžเบ”เปเบฅเบฐ. เบ„เบฑเบ‡เป€เบเบฑเบšเบกเป‰เบฝเบ™ เบกเบตเบ„เปเบฒเบ™เบดเบเบฒเบกเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเปเบเป‰เบงเบ›เบฐเป€เบชเบตเบ” Ruby เบ•เปˆเบฒเบ‡เป†.

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, Sorbet เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบžเบทเปˆเบญเบเบงเบ”เบเบฒเป€เบšเบดเปˆเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ” Stripe, เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเปˆเบฒเบเป€เบ‡เบดเบ™เปเบฅเบฐเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ Ruby, เปเบฅเบฐเบ–เบทเบเป‚เบญเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบซเบ™เบถเปˆเบ‡เบ›เบตเปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เบฅเบฐเบซเบฑเบ”, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบšเบ•เป‰เบฒเป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบซเบผเบฒเบเบเบงเปˆเบฒ 30 เบšเปเบฅเบดเบชเบฑเบ”เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก. เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™, Sorbet เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ„เบ‡เบเบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™ Ruby, เปเบ•เปˆเบญเบฒเบ”เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบšเปเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™