Lingara Lingara Tài liệu Cẩm nang API Thư viện Ứng dụng Tạo Ứng dụng web
Ngôn ngữ: Tiếng Việt

Ruby

Trang này được dịch từ tiếng Anh. Nếu hai bản khác nhau, trang tiếng Anh là bản đúng. Đọc trang tiếng Anh

Thư viện Ruby là gem lingara trên RubyGems. Thư viện cần Ruby 3.3 trở lên và dùng Net::HTTP từ thư viện chuẩn, không cần gem nào khác.

Cách sử dụng

  • Các lệnh gọi là đồng bộ. Một máy khách có thể được dùng chung giữa các luồng thực thi, và vẫn hoạt động đúng sau một lần fork.
  • Truyền một block cho lệnh gọi phát trực tuyến và từng sự kiện sẽ được yield vào block đó. Nếu không có block, bạn sẽ nhận được một luồng Enumerable, vốn có tính lười: yêu cầu được gửi ở lần each hoặc next đầu tiên. Luồng được đọc bằng next cần một lệnh close tường minh.
  • So khớp sự kiện bằng case và in.
  • Để dừng luồng sớm, hãy thoát khỏi block bằng break, hoặc gọi close.
  • Các lỗi kế thừa từ Lingara::Error. retry_after là số giây, hoặc nil khi API không nêu thời gian chờ.
  • Tạo máy khách bằng các đối số từ khóa cho Lingara::Client.new. Tùy chọn cho Net::HTTP được đặt trong net_http_options; thời gian chờ đọc của nó cũng là thời gian chờ khi rảnh của luồng.

Các mẫu dưới đây cài đặt gem, tạo máy khách, phát trực tuyến một danh sách từ vựng và xử lý lỗi.

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

Những gì trang này bao bọc