Lingara Lingara ឯកសារ មគ្គុទ្ទេសក៍សិក្សា API បណ្ណាល័យ កម្មវិធី បង្កើត កម្មវិធីលើបណ្ដាញ
ភាសា: ខ្មែរ

Ruby

ទំព័រនេះត្រូវបានបកប្រែពីភាសាអង់គ្លេស។ ប្រសិនបើទាំងពីរខុសគ្នា ទំព័រភាសាអង់គ្លេសគឺត្រឹមត្រូវ។ អានទំព័រភាសាអង់គ្លេស

បណ្ណាល័យ Ruby គឺជា gem lingara នៅលើ RubyGems។ វាត្រូវការ Ruby 3.3 ឬថ្មីជាងនេះ ហើយប្រើ Net::HTTP ពីបណ្ណាល័យស្តង់ដារ ដោយគ្មាន gem ផ្សេងទៀត។

របៀបប្រើវា

  • ការហៅគឺធ្វើសមកាលកម្ម។ ក្លាយអិនតែមួយអាចប្រើរួមគ្នារវាង thread ហើយវានៅតែត្រឹមត្រូវឆ្លងកាត់ fork។
  • បញ្ជូន block ទៅការហៅស្ទ្រីម ហើយព្រឹត្តិការណ៍នីមួយៗនឹងត្រូវ yield ទៅវា។ បើគ្មាន block អ្នកនឹងទទួលបានស្ទ្រីម Enumerable ជំនួសវិញ ដែលខ្ជិល៖ សំណើត្រូវបានផ្ញើនៅ each ឬ next ដំបូង។ ស្ទ្រីមដែលអានដោយ next ត្រូវការ close ច្បាស់លាស់។
  • ផ្គូផ្គងព្រឹត្តិការណ៍ដោយ case និង in។
  • ដើម្បីបញ្ឈប់ស្ទ្រីមមុនពេល ចាកចេញពី block ដោយ break ឬហៅ close។
  • កំហុសទទួលមរតកពី Lingara::Error។ retry_after គឺជាចំនួនវិនាទី ឬ nil នៅពេល API មិនបានប្រាប់ពេលរង់ចាំ។
  • បង្កើតក្លាយអិនដោយអាគុយម៉ង់ពាក្យគន្លឹះទៅ Lingara::Client.new។ ជម្រើសសម្រាប់ Net::HTTP ដាក់ក្នុង net_http_options ការកំណត់ពេលអានរបស់វា ក៏ជាការកំណត់ពេលទំនេររបស់ស្ទ្រីមផងដែរ។

គំរូខាងក្រោមដំឡើង gem បង្កើតក្លាយអិន ស្ទ្រីមបញ្ជីវាក្យសព្ទ និងដោះស្រាយកំហុសមួយ។

Ruby

gem install lingara -v 0.1.0-alpha.6

Ruby

require "lingara"

client = Lingara::Client.new(client_id: client_id, client_secret: client_secret)

Ruby

client.generate_vocabulary(level: 2, source_lang: "en", target_lang: "zh", count: 8) do |event|
  case event
  in Lingara::GenerateVocabularyEventItem => item then puts "#{item.data.word}: #{item.data.translation}"
  else nil
  end
end

Ruby

begin
  client.get_usage
rescue Lingara::ApiError => e
  # A refusal from the API: status, code (stable) and message (localised).
  puts "#{e.status} #{e.code}: #{e.message}"
  puts "retry after #{e.retry_after}s" if e.retry_after
rescue Lingara::OAuthError => e
  # The token endpoint refused the credentials or the scopes.
  puts "#{e.status} #{e.error}: #{e.description}"
rescue Lingara::MaintenanceError => e
  puts "under maintenance"
  puts "retry after #{e.retry_after}s" if e.retry_after
rescue Lingara::TransportError => e
  # No usable answer: :connect, :tls, :reset, :timeout, and so on.
  puts "transport: #{e.kind}"
end

អ្វីដែលទំព័រនេះរុំ