Libelektra: рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдордИ 2019  ┬╖  45рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ElektraInitiative/libelektra

рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЬреБрд▓рд╛рдИ рдХреЗ рдордзреНрдп рд╕реЗ, рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рд▓рд┐рдП рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдВрдЧ-рдмрд╛рдЗрдВрдбрдЬреЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (рдХреБрдЫ рдпрд╛ рд╕рднреА) рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдЕрднреА рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХреБрдЫ рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рд╕рдордЭ рд╕реЗ рдФрд░ @kodebach рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ, рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо elektra-sys рдЯреЛрдХрд░рд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рдмрд╛рд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореИрдВ рдЬрдВрдЧ рдореЗрдВ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рддрд╛рдХрд┐ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕реЗ рдирд┐рдпрдорд┐рдд рдЬрдВрдЧ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рддрдм elektra рдЯреЛрдХрд░рд╛ рд╣реЛрдЧрд╛ред
рдлрд┐рд░ рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХрд╛рд░реНрдЧреЛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рд╡реЗ рд╕рд╣реА рд╣реИрдВред

рдЯреЛрдХрд░реЗ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХрд╛ рдХреЛрдб рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред docs.rs рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз

рдХреНрд░реЗрдЯ рдХреЛ crates.io рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрдкреАрдЖрдИ рдЯреЛрдХрди рд╡рд╛рд▓реЗ рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ @markus2330 рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ, рдпрд╣ рдЦрд╛рддрд╛ ElektraInitiative рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реЛред

рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕реАрдПрдордХреЗ рдПрдХреАрдХрд░рдг рдХреЛ рджреЗрдЦреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдордп рд╕реАрдПрдордХреЗ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд░рд╕реНрдЯ-рдмрд╛рдЗрдВрдбрдЬреЗрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдХрдорд╛рдВрдбрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬреЛ рдЗрд╕рд▓рд┐рдП рдПрдХ рдореИрдиреБрдЕрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдФрд░ рд╕реА-рдПрдкреАрдЖрдИ рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдкрд░ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░рд╛ рдПрдХ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬреЛ рд╣рд░ рдмрд╛рд░ рдХрд╛рд░реНрдЧреЛ рдмрд┐рд▓реНрдб рдХреЗ рдЪрд▓рдиреЗ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА elekra рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рд╕рд┐рд░реНрдл рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣реЗрдбрд░ рдХреЛ рд╣рд░ рдмрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рд╕реА-рдПрдкреАрдЖрдИ рдЕрдм рдФрд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ?

рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдкреБрдирд░реНрдЬрдирди рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЕрдиреНрдп рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рднреА рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред рдЖрдк рдЬрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рднреА 45 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЬрдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ rust-bindgen рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ unsafe рдЬрдВрдЧ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЕрдзрд┐рдХ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдЖрд╡рд░рдг рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

AFAIK рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ C API рдХреЗ 1:1 рдореИрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ *-sys рдХреНрд░реЗрдЯ рдФрд░ API рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреНрдп рдХреНрд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Rust рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рд░рд╕реНрдЯ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ keyDel , ksDel рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЕрдзрд┐рдХ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдЖрд╡рд░рдг рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдБ, рдпрд╣ рдпреЛрдЬрдирд╛ рд╣реИред рдФрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╕рдордп, рд╕реА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рднреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдФрд░ рд╢рд╛рдпрдж рд╕реА рдПрдкреАрдЖрдИ (рдХрдо рд╕реЗ рдХрдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ) рдореЗрдВ рд╕реБрдзрд╛рд░ рдкрд╛рдПрдВред

@PhilippGackstatter рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ: рдХреГрдкрдпрд╛ рдпрд╣ рднреА рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ https://crates.io/ рдкрд░ рдХреИрд╕реЗ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рд╣рдорд╛рд░реЗ рд╕реАрдПрдордХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

@PhilippGackstatter рдХреЛрдИ рдкреНрд░рдЧрддрд┐? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╣реИ рдЬреЛ рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

@ рдорд╛рд░реНрдХрд╕ 2330 рдореИрдВрдиреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдмрд╛рдЗрдВрдбрдЬреЗрди, рд╕реЗрдореЗрдХ рдкрд░ рдкрдврд╝ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рд▓рд┐рдП рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛ред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдкрд╣рд▓реА рджреЛ рдЪреАрдЬрд╝реЗрдВ рддреИрдпрд╛рд░ рд╣реИрдВ (#2826 рджреЗрдЦреЗрдВ)ред рдореИрдВ рдЕрднреА рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

#2826 рд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП (рдХреГрдкрдпрд╛ рдореБрджреНрджреЛрдВ рдореЗрдВ рдкреНрд░рд╢реНрди рдкреВрдЫрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдкреАрдЖрд░ рдореЗрдВ рдЙрди рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдХреЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ):

рдПрдХ рд╣реИ, src/include рдореЗрдВ рдХреМрди рд╕реЗ рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо kdb.h, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдкреНрд▓рдЧрдЗрди рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдирд╣реАрдВ, рдирд┐рдореНрди-рд╕реНрддрд░реАрдп API рдХреЗрд╡рд▓ kdb.h . рдореЗрдВ рд╣реИ

рджреВрд╕рд░рд╛ рдпрд╣ рд╣реИ рдХрд┐, рдХреНрдпрд╛ рдореБрдЭреЗ рд░рд╕реНрдЯрдЕрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдбреЙрдХрдЯрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ (рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдЧреЛ рдФрд░ рд░рд╕реНрдЯрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)?

рд╣рд╛рдВ, рдЖрдкрдХреЛ рдбреЙрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╢рд╛рдпрдж рдЬреЗрдирдХрд┐рдВрд╕рдлрд╛рдЗрд▓ рдХреЛ рднреА рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдк рд╣рд╛рд▓ рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдбреЗрдмрд┐рдпрди рдмрд╕реНрдЯрд░ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рджреЗрд╢реА рдЬрдВрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдмрд┐рдпрди рдмрд╕реНрдЯрд░ рдбреЙрдХрд░ рдлрд╝рд╛рдЗрд▓ рдЕрднреА рддрдХ рдорд░реНрдЬ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ #2819

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрд╛рдп рд╣реИрдВ: #730

рд░рд╕реНрдЯ-рдмрд╛рдЗрдВрдбрдЬреЗрди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХ рдХрдорд╛рдВрдбрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬреЛ рдЗрд╕рд▓рд┐рдП рдПрдХ рдореИрдиреБрдЕрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдФрд░ рд╕реА-рдПрдкреАрдЖрдИ рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдкрд░ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рджреВрд╕рд░рд╛ рдПрдХ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ, рдЬреЛ рд╣рд░ рдмрд╛рд░ рдХрд╛рд░реНрдЧреЛ рдмрд┐рд▓реНрдб рдХреЗ рдЪрд▓рдиреЗ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА elekra рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рд╕рд┐рд░реНрдл рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣реЗрдбрд░ рдХреЛ рд╣рд░ рдмрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рд╕реА-рдПрдкреАрдЖрдИ рдЕрдм рдФрд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ?

рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдкреБрдирд░реНрдЬрдирди рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЕрдиреНрдп рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рднреА рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред рдЖрдк рдЬрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдирд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдБ, рдпрд╣ рдпреЛрдЬрдирд╛ рд╣реИред рдФрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╕рдордп, рд╕реА рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рднреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдФрд░ рд╢рд╛рдпрдж рд╕реА рдПрдкреАрдЖрдИ (рдХрдо рд╕реЗ рдХрдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ) рдореЗрдВ рд╕реБрдзрд╛рд░ рдкрд╛рдПрдВред

рдЕрдм рддрдХ, рдореБрдЭреЗ рд╕реБрдзрд╛рд░ рдХреЗ рдХреБрдЫ рдЫреЛрдЯреЗ рдЕрд╡рд╕рд░ рдорд┐рд▓реЗ рд╣реИрдВ

  • keyGetBinary : рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ -1 рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди maxSize is 0 рдпрд╛ type mismatch рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реИред рдЪреВрдВрдХрд┐ рдЬрдВрдЧ рдЕрдкрдиреЗ рд░рд┐рдЯрд░реНрди рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рдмреЗрдореЗрд▓ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ "рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд" рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдореЗрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдХрд░реНрдиреЗрдЯрд▓реА рдореБрдЭреЗ рдПрдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреЗрдореЗрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди keyGetBinary рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдмрд╛рд░ рдПрдХ рд╣реА рдЪреЗрдХ рд╣реИред
    keySetName рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рддрд╛ рд╣реИ, рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ -1 рд╕реЗ рдорд┐рд▓рд╛рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдмрдЧ (рдЕрдорд╛рдиреНрдп рдирд╛рдо) рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдзреНрд╡рдирд┐ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ (рдХреБрдВрдЬреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреАрд╕реЗрдЯ рдореЗрдВ) рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдирд┐рд░реНрдгрдп рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдбрдмрд▓ рдЪреЗрдХрд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП -2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд░реЗрдВ?
  • рд╡реНрдпрд╛рдХрд░рдг рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ, keyIsDirectBelow рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП keyIsDirectlyBelow ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рдореЗрдВ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓: рд╕реАрдкреАрдкреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ keyRel рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рд░рд╕реНрдЯ рдореЗрдВ рднреА рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо, рдЖрдкрдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдкреАрдЖрдИ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рджреЗрдЦрд╛ рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдиреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди keyGetBinary рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдЪреЗрдХ рджреЛ рдмрд╛рд░ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧрд▓рдд рдХреЙрд▓ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ? (keyGetBinary рдХреЛ рдХреЗрд╡рд▓ рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдЕрдиреБрдорддрд┐ рд╣реИ)

рд▓реЗрдХрд┐рди рдбрдмрд▓ рдЪреЗрдХрд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП -2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рди рдХрд░реЗрдВ?

рдХрд╛рд░рдг рд╕рдВрдЧрддрддрд╛ рдереА: рдПрдкреАрдЖрдИ рд╢реБрд░реВ рдореЗрдВ рдХреЗрд╡рд▓ -1 рд▓реМрдЯрд╛ рдФрд░ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рддреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдЕрдиреНрдп рддреНрд░реБрдЯрд┐ рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ (рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП ==-1 рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ (0.9) рдХреЗ рд╕рд╛рде рд╣рдо рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╣рдо рдпрд╣ рдХрд╣рдХрд░ рд╕рдВрдЧрддрддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 0 рд╕реЗ рдиреАрдЪреЗ рдХрд╛ рдХреЛрдИ рднреА рдорд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рд╕рдЯреАрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдЖрдк рдЗрди API рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рдореЗрдВ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдПрдкреАрдЖрдИ рд╡рд░реНрддрдиреА рдореЗрдВ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рд╕реА рдПрдкреАрдЖрдИ рдФрд░ рд╕рднреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛ рдФрд░ рдЧреЛ рдХреЛ рд╣рд╛рде рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдп рдХреЛ рд╡реИрд╕реЗ рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред

keyRel рдХреЛ CPP рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рд░рд╕реНрдЯ рдореЗрдВ рднреА рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдиреАрдЪреЗ keyIs(Direct) рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реЛрдЧрд╛ рдФрд░ keyRel рдореЗрдВ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред keyRel рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдПрдкреАрдЖрдИ рдХреЛ рдЫреЛрдЯрд╛ рд░рдЦрдирд╛ рдерд╛ (рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЫреЛрдЯрд╛)ред рд▓реЗрдХрд┐рди keyRel as-is рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдзреАрдореА рднреА рд╣реИред рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ 0.9.1 рдХреЗ рднреАрддрд░ рд╣рдЯрд╛ рджреЗрдВрдЧреЗред рдЕрдиреНрдп рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП doc/todo/FUTURE рджреЗрдЦреЗрдВред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧрд▓рдд рдХреЙрд▓ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдкрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ? (keyGetBinary рдХреЛ рдХреЗрд╡рд▓ рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдЕрдиреБрдорддрд┐ рд╣реИ)

рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ BinaryKey рдФрд░ StringKey рдФрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рдкрд╛рд╕ get_binary() рд╡рд┐рдзрд┐ рд╣реЛрдЧреА рдФрд░ рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдХреЗ рдкрд╛рд╕ get_string() рд╡рд┐рдзрд┐ рд╣реЛрдЧреА, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдореИрдВ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛ред

рдХреНрдпрд╛ рдЖрдк рдЗрди API рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдореИрдВ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд░рд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдкреАрдЖрдИ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ рд░рд╕реНрдЯ рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдПрдкреАрдЖрдИ рднреА рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЖрдк рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╛рдЗрдирд░реАрдХреА рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧрдХреА рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдХреЗ рдкрд╛рд╕ get_binary() рд╡рд┐рдзрд┐ рд╣реЛрдЧреА рдФрд░ рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдореЗрдВ get_string() рд╡рд┐рдзрд┐ рд╣реЛрдЧреА, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдореИрдВ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛ред

рд╢реБрдХреНрд░рд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рд╕реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рддреЛ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдХреАрд╕реЗрдЯ рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рд╕реЗрдЯрдирд╛рдо рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ)ред

рдореИрдВ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБред рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд░рд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдкреАрдЖрдИ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ рд░рд╕реНрдЯ рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдПрдкреАрдЖрдИ рднреА рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЖрдк рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рд╣рд╛рдВ, рдкрд╣рд▓реЗ kdb.h рд╕реЗ рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рдЦрддреНрдо рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рдФрд░ рдХрд┐рддрдиреЗ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдиреЗ рд╣реИрдВред

IMO рдж рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (рдФрд░ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ) рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдЬреЛ рд╕реА рдПрдкреАрдЖрдИ рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рджрд░реНрдкрдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рдЬреЛ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдмрдирдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рд╣реИред рдореБрд╣рд╛рд╡рд░реЗрджрд╛рд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ BinaryKey рдФрд░ StringKey (рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЬреЗрдирд░рд┐рдХ) рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд░рд╕реНрдЯ рд╕реЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

@ рдХреЛрдбрдмреИрдХ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рд╕рд┐рд╕ рдХреНрд░реЗрдЯ рдХреЗ рд╕рд╛рде рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

@ рдХреЛрдбрдмреИрдХ рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рд╕рд┐рд╕ рдХреНрд░реЗрдЯ рдХреЗ рд╕рд╛рде рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рдВ рдореБрдЭреЗ рднреА рдРрд╕рд╛ рд╣реА рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ elektra_sys рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реАрдзреЗ рдПрдХ-рд╕реЗ-рдПрдХ рд╕реА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╢реБрдХреНрд░рд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рд╕реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рддреЛ рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдХреАрд╕реЗрдЯ рдореЗрдВ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рд╕реЗрдЯрдирд╛рдо рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ)ред

рдЗрд╕рдиреЗ рдкреНрд░рдореБрдЦ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреАрд╕реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд░реЛрдб рдмреНрд▓реЙрдХ рдорд╛рд░рд╛ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдХ рдХреБрдВрдЬреА рджреЗрддрд╛ рд╣реИ, рдЙрд╕реЗ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВрдиреЗ рдПрдХ рд╡рд┐рдзрд┐ get_value рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдЯрд░реНрди рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред рдмрд╛рдЗрдирд░реАрдХреАрдЬрд╝ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧрдХреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реИред рд▓реЗрдХрд┐рди ksNext рдХрд╛ рдЬрдВрдЧ рд╕рдВрд╕реНрдХрд░рдг рдЕрдм рдХреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ? рдПрдХ рд╡рд╕реНрддреБ рдЬреЛ "рдХреБрдВрдЬреА рдЗрдВрдЯрд░рдлрд╝реЗрд╕" рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде? рдореБрдЭреЗ рдПрдХ рдЪреБрдирдирд╛ рд╣реИред
рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ рдореВрд▓реНрдп рд╡рд╣ рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ get_value рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдмрд╛рдЗрдЯреНрд╕ ( Vec<u8> ) рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
pub fn next(&mut self) -> Box<dyn WriteableKey<Value = Vec<u8>>>;

рддреЛ рдореИрдВ рдЗрд╕реЗ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЪреВрдВрдХрд┐ StringKey рдФрд░ BinaryKeys рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдЙрдирдХрд╛ set_value рдФрд░ get_value рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЙрд╕ рдЦреЛрдЬрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ рдХреБрдВрдЬреА рдлрд┐рд░ рд╕реЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреАрд╕реЗрдЯ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЪрд╛рдмрд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди * рдХреБрдВрдЬреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреАрд╕реЗрдЯ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧрдХреА рдпрд╛ рдмрд╛рдЗрдирд░реАрдХреА рд░рдЦрдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗрдирд╛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐рдмрдВрдз рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛ рддреЛ рдХреА рдФрд░ рдХреАрд╕реЗрдЯ рджреЛрдиреЛрдВ рдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрдирдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЕрдм рд╕рд╛рдорд╛рдиреНрдп рдХреБрдВрдЬреА рдФрд░ рдХреАрд╕реЗрдЯ рдХреА рдУрд░ рдЭреБрдХ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╕ рдмрд╛рдХреА рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдПред
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рдЙрд╕ рдХреБрдВрдЬреА рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрднрд╡ рд╣реЛ), рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреБрдВрдЬреА (рдЕрдЧрд▓реЗ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ) рдПрдХ рдХреАрд╕реЗрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рд╕рд┐рдВрдкрд▓ рд░рдЦреЗрдВред рд╕рдмрд╕реЗ рдЖрдо рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ:

  1. рдХреАрд╕реЗрдЯ рдореЗрдВ рдореМрдЬреВрдж рдХрд┐рд╕реА рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред
  2. рдореЗрдЯрд╛-рдбреЗрдЯрд╛ рдХреБрдВрдЬреА (рдпрд╛ рдЕрдиреНрдп рдХреЙрдиреНрд╕реНрдЯ рдХреБрдВрдЬреА) рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред
  3. рдХреБрдВрдЬреА/рдХреАрд╕реЗрдЯ рдХрд╛ рднреНрд░рдорд┐рдд рджреЛрд╣рд░рд╛рд╡ рдФрд░ рдЙрдирдХреЗ рд╕рдВрджрд░реНрднред
  4. рдХреАрд╕реЗрдЯреНрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЕрдм рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
  5. рдПрдХ рдХреБрдВрдЬреА/рдХреАрд╕реЗрдЯ рдореБрдХреНрдд рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рдирд╛

рддреЛ рдЕрдЧрд░ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рд╡рд╣рд╛рдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред 5. рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛, 1. рдФрд░ 2 рдХреЗ рд▓рд┐рдПред рдЖрдкрдХреЗ рдЕрдореВрд░реНрддрддрд╛ рдХреЛ рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдмрд╛рдЗрдирд░реА/рд╕реНрдЯреНрд░рд┐рдВрдЧ рднреНрд░рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рджреБрд░реНрд▓рдн рддреНрд░реБрдЯрд┐ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬрд┐рдпрд╛рдВ рдмрд╣реБрдд рд╣реА рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ: рдЬреНрдпрд╛рджрд╛рддрд░ рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ)ред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред рдпрджрд┐ рдЖрдк рдПрдкреАрдЖрдИ рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдп рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ (рдбреЙрдХреНрдЯрд░/рдирд┐рд░реНрдгрдп)

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рдЙрд╕ рдХреБрдВрдЬреА рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рдЗрдЯ рдЕрдиреБрдХреНрд░рдо рдорд╛рдиреНрдп рдпреВрдЯреАрдПрдл -8 рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрдПрдлрд╝ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛?

AFAIK рдЬрдВрдЧ рдореЗрдВ рдореИрдХреНрд░реЛ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рд╢рд╛рдпрдж рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдореЗрдВ рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреА рдПрдХ рддрдХрдиреАрдХ рд╣реИред рдпрд╣рд╛рдБ рдкрд░ рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ StringKeySet рдЬреЛ рдХреЗрд╡рд▓ StringKey s рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЗрддрдиреА рджреБрд░реНрд▓рдн рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХрддрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВред

рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рдЙрд╕ рдХреБрдВрдЬреА рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрднрд╡ рд╣реЛ), рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреБрдВрдЬреА (рдЕрдЧрд▓реЗ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ) рдПрдХ рдХреАрд╕реЗрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреБрд░реНрд▓рдн, рдорд┐рд╢реНрд░рд┐рдд рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдХ рдХреАрд╕реЗрдЯ рд╣реЛрдирд╛ред рдлрд┐рд░ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧрдХреА рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдФрд░ get_string рдХреЙрд▓ рдХрд░рдирд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рди рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдУрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░ рдХреЛрдИ get_binary рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ KeySet рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ KeySet<StringKey> рд░реВрдк рдореЗрдВ рддреБрд░рдВрдд рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИ рдХрд┐ рдЕрдВрджрд░ рдХреЗрд╡рд▓ StringKeys рд╣реИрдВ (рдЙрди KeySets рдХреЗ рд▓рд┐рдП Rust рд╕реЗ рдирд╣реАрдВ рдЖ рд░рд╣реЗ рд╣реИрдВ)ред рддрдм рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ StringKeys рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреЗред
рдпрд╣ рднреА рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреАрд╕реЗрдЯ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдЬрд╛рддреАрдп рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рд░рд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рдЬреЛ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдВрдЧреЗред
рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдХ рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬреА рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ is_binary рдФрд░ is_string рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реЛрдЧреА рдФрд░ рдлрд┐рд░ рдХрдирд╡рд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЙрд▓ рд╣реЛрдЧрд╛ред

рдХреБрдВрдЬреА/рдХреАрд╕реЗрдЯ рдХрд╛ рднреНрд░рдорд┐рдд рджреЛрд╣рд░рд╛рд╡ рдФрд░ рдЙрдирдХреЗ рд╕рдВрджрд░реНрднред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ рд░реЗрдл рдХрд╛рдЙрдВрдЯ рдХреЗ рдмрдЬрд╛рдп рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдмрджрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреАрдбреЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрдВрдЧ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд░реЗрдл рдЧрд┐рдирддреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд╣реИред рддреЛ рд░реЗрдлрд░реА рдЧрд┐рдирддреА рд╕реЗ рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рд╡ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реИред

рдХреАрд╕реЗрдЯреНрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдирд╛ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЕрдм рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдЙрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реБрдП рдХреАрд╕реЗрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ?

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред рдпрджрд┐ рдЖрдк рдПрдкреАрдЖрдИ рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдп рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЖрдЧреЗ рдмрдврд╝реЗрдВ (рдбреЙрдХреНрдЯрд░/рдирд┐рд░реНрдгрдп)

рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреНрдпрд╛ рд╣реЛрдЧреА?

AFAIK рдЬрдВрдЧ рдореЗрдВ рдореИрдХреНрд░реЛ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рд╢рд╛рдпрдж рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреАрд╕реЗрдЯ рдХрд╛ "рд╡рд░реНрддрдорд╛рди" рдбрд┐рдЬрд╝рд╛рдЗрди рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдареЛрд╕ рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд░ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдореИрдХреНрд░реЛрдЬрд╝ рдореЗрдВ рджреЗрдЦ рд▓реВрдВрдЧрд╛ред

рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рдЗрдЯ рдЕрдиреБрдХреНрд░рдо рдорд╛рдиреНрдп рдпреВрдЯреАрдПрдл -8 рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯрд╛рдЗрдкрдПрдлрд╝ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд╣реИ рдирд╛?

рди рддреЛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рддрд╛рд░ рдпрд╛ рдмрд╛рдЗрдирд░реА рдорд╛рди рдХреЛ UTF-8 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдмрд╛рдЗрдирд░реА рдХреЗ рдмреАрдЪ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ (0 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ)ред

AFAIK рдЬрдВрдЧ рдореЗрдВ рдореИрдХреНрд░реЛ рд╕рд┐рд╕реНрдЯрдо рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИ, рд╢рд╛рдпрдж рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдореЗрдВ рдорд╛рди рдкреНрд░рдХрд╛рд░ рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдиреЗ рдХреА рдПрдХ рддрдХрдиреАрдХ рд╣реИред рдпрд╣рд╛рдБ рдкрд░ рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬрд┐рдпрд╛рдБ рджреБрд░реНрд▓рдн рд╣реИрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ StringKeySet рдЬреЛ рдХреЗрд╡рд▓ StringKeys рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдирд░реА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдЗрддрдиреА рджреБрд░реНрд▓рдн рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХрддрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВред

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧрдХреАрд╕реЗрдЯ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХреАрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреВрдВрдЧрд╛ред

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рджреБрд░реНрд▓рдн, рдорд┐рд╢реНрд░рд┐рдд рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдХ рдХреАрд╕реЗрдЯ рд╣реЛрдирд╛ред рдлрд┐рд░ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧрдХреА рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдФрд░ get_string рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рди рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдУрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░ рдХреЛрдИ get_binary рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ (рдЬреИрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдПрдбреНрд░реЗрд╕) рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдХреБрдВрдЬреА рдХреИрд╕реЗ рдбрд╛рд▓реА рдЬрд╛рдП (рдпрджрд┐ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ)ред

рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ KeySet рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ KeySet рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХрд░реЗрдВрдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИ рдХрд┐ рдЕрдВрджрд░ рдХреЗрд╡рд▓ StringKeys рд╣реИрдВ (рдЙрди KeySets рдХреЗ рд▓рд┐рдП Rust рд╕реЗ рдирд╣реАрдВ рдЖ рд░рд╣реЗ рд╣реИрдВ)ред рддрдм рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рдиреЗ рд╕реЗ рдХреЗрд╡рд▓ StringKeys рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреЗред

рдпрд╣ рдХреЗрд╡рд▓ рдирдХрд▓реА рд╕реБрд░рдХреНрд╖рд╛ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдХреАрд╕реЗрдЯ рдХреЗрдбреАрдмреА (рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ) рд╕реЗ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ KeySet рдЧреИрд░-рдЬреЗрдиреЗрд░рд┐рдХ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред

рдпрджрд┐ рдЖрдк рдЬреЗрдирд░рд┐рдХ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдЬреЛ рдХреАрд╕реЗрдЯреНрд╕ рдХреЛ (рдЬреЗрдиреЗрд░рд┐рдХ) рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Vec<i32> рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреА рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕рд░рдгреАред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдЙрд╕ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░рддреЗ рд╣реБрдП рдХреАрд╕реЗрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ?

рд╣рд╛рдБ cut рдХреАрд╕реЗрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЗрдЯрд░реЗрдЯрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред

рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреНрдпрд╛ рд╣реЛрдЧреА?

рд╣рдо рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛, рдЗрд╕рдХрд╛ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреАрд╕реЗрдЯ рдХрд╛ "рд╡рд░реНрддрдорд╛рди" рдбрд┐рдЬрд╝рд╛рдЗрди рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдареЛрд╕ рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд░ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред

рд▓реЗрдХрд┐рди рдореИрдВ рдореИрдХреНрд░реЛрдЬрд╝ рдореЗрдВ рджреЗрдЦ рд▓реВрдВрдЧрд╛ред

рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рди рджреЗрдВред

рди рддреЛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рддрд╛рд░ рдпрд╛ рдмрд╛рдЗрдирд░реА рдорд╛рди рдХреЛ UTF-8 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд┐рд░ рд╣рдореЗрдВ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ String рдмрдЬрд╛рдп OsString рдпрд╛ CString рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рди рддреЛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рддрд╛рд░ рдпрд╛ рдмрд╛рдЗрдирд░реА рдорд╛рди рдХреЛ UTF-8 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд┐рд░ рд╣рдореЗрдВ рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ String рдмрдЬрд╛рдп OsString рдпрд╛ CString рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрднреА рдореИрдВ рд░рд╕реНрдЯ рдХреЗ String (рдЬреЛ рдХрд┐ UTF-8 рд╣реИ) рд╕реЗ CString рдХрдирд╡рд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдкрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ String рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрдкреАрдЖрдИ рдХреЛ CString s рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ String ред рдпрд╣ рдПрдХ рдкрддрд▓реА рдПрдкреАрдЖрдИ рдФрд░ рдХрдо рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдореБрдЭреЗ рдЗрддрдиреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЧреИрд░-UTF8 рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреБрд░реНрд▓рдн рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рд╢рд╛рдпрдж рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕реЗ рднреА рдЕрдзрд┐рдХ рджреБрд░реНрд▓рдн)ред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЧреИрд░-UTF8 рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреБрд░реНрд▓рдн рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рд╢рд╛рдпрдж рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕реЗ рднреА рдЕрдзрд┐рдХ рджреБрд░реНрд▓рдн)ред

рдореИрдВ рдЬрдВрдЧ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ -> рд╕реА рджрд┐рд╢рд╛, рдпреВрдЯреАрдПрдл -8 рд╕реЗ рд╕реА-рд╕реНрдЯреНрд░рд┐рдВрдЧ рддрдХ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпреВрдЯреАрдПрдл -8 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХрдорд╛рддреНрд░ рдХреЛрдбрдкреЙрдЗрдВрдЯ рдЬрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рд╡рд╣ рдПрдирдпреВрдПрд▓ рд╡рд░реНрдг рд╣реИ, рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдЗрд╕реЗ рдкреВрд░реНрд╡ рд╢рд░реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрддрд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛, рдХрд┐ рддрд╛рд░реЛрдВ рдХреЛ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдпрд╣ рд╡реИрд╕реЗ рднреА рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдЙрд╕ рд╕рдордп рдШрдмрд░рд╛ рдЬрд╛рддрд╛ рд╣реИред

рджреВрд╕рд░реА рд╕рдВрднрд╛рд╡рдирд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ NulError рд╣рд░ рд╕рдордп рдирд┐рдкрдЯрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрднреА рд╡рд╛рдкрд╕ рднреА рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред

keyNew рдЖрд╡рдВрдЯрди рддреНрд░реБрдЯрд┐ рдкрд░ рдПрдХ рдкреВрд░реНрдг рд╕реВрдЪрдХ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрдВрдЧ рдореЗрдВ рдореИрдВ рдпрд╛ рддреЛ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдпрд╛ рдШрдмрд░рд╛рд╣рдЯ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд╣рд┐рдд рд╢реВрдиреНрдп рдирд╣реАрдВред рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдкрд░ рдЬрдВрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реНрдореГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдПрдХ рднрдпрд╛рд╡рд╣ рддреНрд░реБрдЯрд┐ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ stdlib abort s рдХреЛ рдорд╛рдирддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдмрд╛рдзреНрдпрдХрд╛рд░реА рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ NullPointerException рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдВ рдЖрддрдВрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ (рдирд┐рд░рд╕реНрдд рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рдирд╛рд╢рдХреЛрдВ рдХреЛ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА)?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдзреНрдпрдХрд╛рд░реА рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдЗрд╕реЗ рдкреВрд░реНрд╡ рд╢рд░реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрддрд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛, рдХрд┐ рддрд╛рд░реЛрдВ рдХреЛ рд╢реВрдиреНрдп рдмрд╛рдЗрдЯ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдпрд╣ рд╡реИрд╕реЗ рднреА рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреЛрдб рдЙрд╕ рд╕рдордп рдШрдмрд░рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рд╛рдБ, рд╡рд╛рдЬрд┐рдм рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдпрд╣рд╛рдВ рдЖрддрдВрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ (рдирд┐рд░рд╕реНрдд рдХрд░рдиреЗ рд╕реЗ рд╡рд┐рдирд╛рд╢рдХреЛрдВ рдХреЛ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА)?

рд╣рд╛рдВ, рдЕрдЧрд░ рдореЙрд▓реЛрдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдП рддреЛ рдШрдмрд░рд╛рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред (рд░рд╕реНрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреИрд╕рд╛ рдХрд┐ stdlib рд╡рд╣реА рдХрд░реЗрдЧрд╛ред C рдореЗрдВ stdlib рдирд┐рд░рд╕реНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП C-Elektra рднреА рдирд┐рд░рд╕реНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ)ред

рдЕрдм рдЬрдм рд░рд╕реНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ crates.io рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реЗ рдмрдВрдзреЗ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) 0.1.0 рд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреА рдкрд░рд┐рдкрдХреНрд╡рддрд╛ рд╕реНрд╡рдпрдВ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИред рдХреНрдпрд╛ рдЖрдк @markus2330 рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ?

https://crates.io рдкрд░ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ GitHub рдЦрд╛рддреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреНрд░реЗрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╛ рдХреЛрдИ рдФрд░ рд▓реЙрдЧрд┐рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдЯреЛрдХрди рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЙрдиреНрд╣реЗрдВ crates.io рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж: рд╕реНрдкрд╛рд░реНрдХрд▓:

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реАрдзреЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реЗ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рд░реЗрдкреЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ: рдпрджрд┐ crates.io рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдХреАрдорд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣рд╛рдВ рдЬреЛ рдЖрдо рд╣реИ рдЙрд╕рд╕реЗ рдмреЗрд╣рддрд░ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВред

рдпрд╛ рдХреЛрдИ рдФрд░ рд▓реЙрдЧрд┐рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдЯреЛрдХрди рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рдЕрдзрд┐рдХреГрдд рд▓реЙрдЧ рдЗрди рдХрд┐рдпрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдЯреЛрдХрди рднреЗрдЬреВрдВрдЧрд╛ред

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реАрдзреЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реЗ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рд░реЗрдкреЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ: рдпрджрд┐ crates.io рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдХреАрдорд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣рд╛рдВ рдЬреЛ рдЖрдо рд╣реИ рдЙрд╕рд╕реЗ рдмреЗрд╣рддрд░ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВред

рдЗрд╕рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЕрдЧрд░ рд╣рдореЗрдВ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЪреЗрдВрдЬ рдХрд░рдирд╛ рд╣реИ рддреЛ рд╣рдо рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд░реНрдЬрди рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдЙрдиреНрд╣реЗрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрдм рддрдХ рд╡рд░реНрдЬрди 0 рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддрдм рддрдХ рдЖрдк рдХреЛрдИ рднреА рдмреНрд░реЗрдХрд┐рдВрдЧ рдЪреЗрдВрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо Elektra 1.0 рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рд╕реНрдерд┐рд░ рд░рдЦрдирд╛ рднреА рд╣рдорд╛рд░реА рд░реБрдЪрд┐ рд╣реИред рдФрд░ рдЕрдЧрд░ рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИ (рдмрд╕ рдЬрдВрдЧ рдмрдВрдзрди рдХреЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдврд╝рд╛рдПрдВ)ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдХреЗрд╡рд▓ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдмрд╛рдж рдореЗрдВ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред

рдЕрднреА, wrapper.h рдХреЗрдбреАрдмреА рд╣реЗрдбрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП #include "kdb.h" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрд▓реИрдВрдЧ рдХреЛ рд╣реЗрдбрд░ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ubuntu:18.10 )ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП /usr/include/elektra рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реИрдВрдЧ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдХреНрдпрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╣рдореЗрд╢рд╛ /usr/include/elektra рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗ?

рдХреНрдпрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╣рдореЗрд╢рд╛ /usr/include/elektra рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗ?

рд╣рд╛рдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ (рдореБрдЭреЗ рдХреЗрд░реНрдмрд░реЛрд╕ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ) рдЬреЛ /usr/include/kdb.h рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдЕрднреА рдХреЗ рд▓рд┐рдП /usr/include/elektra рдХреЛ рд╢рд╛рдорд┐рд▓ рдкрде рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди AFAIK рд╣рдо рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп #include <elektra/kdb.h> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдХреНрдпрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╣рдореЗрд╢рд╛ /usr/include/elektra рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗ?

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣/usr/рд╕реНрдерд╛рдиреАрдп/рд╢рд╛рдорд┐рд▓/рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рддрд░рдг/usr/include/elektra рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдорд░реНрдерди рд╣реЛрддрд╛ рд╣реИред рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ cmake рдФрд░ pkg-config рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╣рд╛рдВ рд╣реИ?

рдХреА рдЬрдЧрд╣ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмрдЬрд╛рдп рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкреАрдЖрд░ #2880 . рд╣реИ

#include <elektra/kdb.h> рдмрджрд▓рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдмрдВрдЯреВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреЛ рдлрд┐рд░ рдореИрдВ /usr/include/elektra рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрд╕ рдкрде рдореЗрдВ рдмрджрд▓

#include <elektra/kdb.h> рдмрджрд▓рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдмрдВрдЯреВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреЛ рдлрд┐рд░ рдореИрдВ /usr/include/elektra рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрд╕ рдкрде рдореЗрдВ рдмрджрд▓

рдпрд╣ рд╢рд╛рдпрдж рд╕рднреА рд╢реАрд░реНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреБрдЫ /usr/include/elektra рд╢рд╛рдорд┐рд▓ рдкрде рдореЗрдВ рд╣реЛрдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд (рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛ) pkg-config рдпрд╛ cmake --find-package рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (IMO cmake рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╣рд╛рдВ рд╣реИ?

рддреЛ рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХреЗрд╡рд▓ рдЬрдВрдЧ/рдХрд╛рд░реНрдЧреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП crates.io рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рдХреЛрдИ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ (рдФрд░ рд╣реЗрдбрд░) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЕрдм рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдЧреЛ elektra-sys рдЯреЛрдХрд░рд╛ рд▓рд╛рдПрдЧрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реИрдВрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрд▓реИрдВрдЧ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ kdb.h рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╛ рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдпрд╛ рд╕реАрдзреЗ #include ... рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВред

рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд (рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реЛ) pkg-config рдпрд╛ cmake --find-package рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (IMO cmake рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

рдореИрдВ рдирд┐рд░реНрдорд╛рдг-рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ pkg-config рдпрд╛ cmake рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ kdb.h рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рд╣реИред

рд╣рд╛рдВ, рдЖрдк рдЕрдкрдиреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ pkg-config рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ pkg-config рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк /usr/include/elektra рдФрд░ /usr/local/include/elektra рдЬреИрд╕реЗ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдкрде рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред (рдпрджрд┐ crates.io рдХреЛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП pkg-config рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред)

рдЖрдк рдЗрд╕ рдЯреЛрдХрд░реЗ рдХреЛ рдЖрдЬрдорд╛ рд╕рдХрддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рдЖрдк рдЕрдкрдиреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ pkg-config рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ pkg-config рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк /usr/include/elektra рдФрд░ /usr/local/include/elektra рдЬреИрд╕реЗ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдкрде рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред (рдпрджрд┐ crates.io рдХреЛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП pkg-config рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред)

рдореИрдВрдиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ pkg-config рдЬреЛрдбрд╝рд╛ред рдпрджрд┐ рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ рдФрд░ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рдорд╛рд╡реЗрд╢реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдЕрдиреНрдпрдерд╛ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд╛рдорд┐рдд рджреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ред

рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрдм рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдИ рд╣реИрдВ: рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдФрд░ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рдПрд╕рдЖрдИрдПрд╕ : рд╕реНрдорд╛рдЗрд▓реА:

docs.rs рдмрд┐рд▓реНрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ libelektra рдХреА рдЕрдиреБрдкрд▓рдмреНрдз рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдирд╣реАрдВ рдмрдирд╛ред рд╕рд╛рде рд╣реА, рд╡реЗ 30 рд╕рд┐рддрдВрдмрд░ рдХреЛ рдмрд┐рд▓реНрдб рдкрд░рд┐рд╡реЗрд╢ рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗред
рдореИрдВрдиреЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ libelektra рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рд╕рд┐рддрдВрдмрд░ 30th рдкрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рд╣реЛ рд╕рдХреЗред рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреИрдХреЗрдЬ рдХреЛ рдореМрдЬреВрджрд╛ рдкрд░рд┐рд╡реЗрд╢ рдореЗрдВ рднреА рдЬреЛрдбрд╝рд╛, рдЗрд╕рд▓рд┐рдП рдбреЙрдХреНрд╕ рдЕрдм рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: +1:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #2980 рдХреЗ рд╡рд┐рд▓рдп рдХреЗ рдмрд╛рдж рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реБрдкрд░-рдлрд╛рд╕реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреАред рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдХрд╛рдлреА рдкреБрд░рд╛рдиреЗ рдкрд░рд┐рд╡рд╛рдж рдХреЗ рд╕рд╛рде рдмрдирд╛рддреЗ рд╣реИрдВ? (рдореИрдВрдиреЗ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рдЗрд╕реЗ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ 0.9 рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдирд╛ рд╣реЛрдЧрд╛ред)

elektra рдЯреЛрдХрд░рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╣реИред elektra-sys рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХрд╛ рдЬреЛ рднреА рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рд╡рд╣ рд╡рд░реНрддрдорд╛рди рдХреЗ рдмрдЬрд╛рдп рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ рд░реИрдкрд░ рдХреА рдЬрдЧрд╣ рд░реЙ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдЧрд╛ред рддреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрджред

рдХреНрдпрд╛ рдЖрдк рд╣рдорд╛рд░реЗ рд░реЗрдкреЛ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рдПрд╕рдЖрдИрдПрд╕ рд╡реИрд╕реЗ рднреА рд▓рдЧрднрдЧ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рд╕реИрдХрдбрд╝реЛрдВ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

https://docs.rs/elektra-sys/0.9.0/elektra_sys/fn.keyString.html

рдХреНрдпрд╛ рдЖрдк рд╣рдорд╛рд░реЗ рд░реЗрдкреЛ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдБ, рдореИрдВ рдЗрд╕реЗ рдореМрдЬреВрджрд╛ PR . рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдБрдЧрд╛

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рдПрд╕рдЖрдИрдПрд╕ рд╡реИрд╕реЗ рднреА рд▓рдЧрднрдЧ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рд╕реИрдХрдбрд╝реЛрдВ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

-sys рдХреНрд░реЗрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП openssl-sys ), рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реА рд╕рдордХрдХреНрд╖ рдХреЗ рдПрдХ-рд╕реЗ-рдПрдХ рдЕрдиреБрд╡рд╛рдж рд╣реИрдВред рддреЛ рдХрд┐рд╕реА рдХреЛ рд╕реАрдзреЗ рд╕реА рдбреЙрдХреНрдЯрд░ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рднреА рджреЗрдиреА рд╣реЛрдЧреА, рдЬреЛ рдПрдХ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдмреЛрдЭ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреГрд╖реНрда рдкрд░ https://doc.libelektra.org/api/current/html/index.html рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛-рдПрд╕рдЖрдИрдПрд╕ рд╡реИрд╕реЗ рднреА рд▓рдЧрднрдЧ рдЕрдиреБрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рд╕реИрдХрдбрд╝реЛрдВ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реВрдВрдЧрд╛ред

рдЗрд╕реЗ #2980 рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рд╣рдо рдЯреЛрдХрд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рддреЛ рдЗрд╕реЗ docs.rs рдкрд░ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдореБрдЦреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреГрд╖реНрда рдкрд░ https://doc.libelektra.org/api/current/html/index.html рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╣рд╛рдБ рдЕрдЪреНрдЫрд╛ рдЙрдкрд╛рдП!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

markus2330 picture markus2330  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

markus2330 picture markus2330  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpranj picture mpranj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sanssecours picture sanssecours  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpranj picture mpranj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ