Lingara Lingara Dokumentasi Panduan API Pustaka Aplikasi Bina Apl web
Bahasa: Bahasa Melayu

Ruby

Halaman ini diterjemahkan daripada bahasa Inggeris. Jika kedua-duanya berbeza, halaman bahasa Inggeris adalah yang betul. Baca halaman bahasa Inggeris

Pustaka Ruby ialah gem lingara di RubyGems. Ia memerlukan Ruby 3.3 atau lebih baharu dan menggunakan Net::HTTP daripada pustaka standard, tanpa gem lain.

Cara ia digunakan

  • Panggilan adalah segerak. Satu klien boleh dikongsi antara thread, dan ia kekal betul merentasi fork.
  • Hantar block kepada panggilan penstriman dan setiap peristiwa akan di-yield kepadanya. Tanpa block, anda mendapat strim Enumerable sebaliknya, yang bersifat malas: permintaan dihantar pada each atau next yang pertama. Strim yang dibaca dengan next memerlukan close yang eksplisit.
  • Padankan peristiwa dengan case dan in.
  • Untuk menghentikan strim lebih awal, keluar daripada block dengan break, atau panggil close.
  • Ralat mewarisi daripada Lingara::Error. retry_after ialah bilangan saat, atau nil apabila API tidak menyatakan tempoh menunggu.
  • Cipta klien dengan argumen kata kunci kepada Lingara::Client.new. Pilihan untuk Net::HTTP dimasukkan ke dalam net_http_options; had masa bacaannya juga merupakan had masa terbiar strim.

Contoh di bawah memasang gem, mencipta klien, menstrim senarai perbendaharaan kata dan mengendalikan ralat.

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

Perkara yang dibalut oleh halaman ini