Lingara Lingara Belgeler Rehberler API Kütüphaneler Uygulamalar Oluştur Web uygulaması
Dil: Türkçe

Ruby

Bu sayfa İngilizceden çevrilmiştir. İkisi arasında fark varsa İngilizce sayfa doğrudur. İngilizce sayfayı oku

Ruby kütüphanesi, RubyGems üzerindeki lingara gem’idir. Ruby 3.3 veya üstünü gerektirir ve başka hiçbir gem olmadan standart kütüphanedeki Net::HTTP’yi kullanır.

Kullanımı nasıldır

  • Çağrılar eşzamanlıdır (senkron). Tek bir istemci iş parçacıkları arasında paylaşılabilir ve bir fork sonrasında da doğru çalışmaya devam eder.
  • Akış hâlinde yanıt veren bir çağrıya bir blok verin; her olay o bloğa iletilir. Blok vermezseniz bunun yerine tembel bir Enumerable akış alırsınız: istek ilk each veya next çağrısında gönderilir. next ile okunan bir akışın açıkça close ile kapatılması gerekir.
  • Olayları case ve in ile eşleştirin.
  • Bir akışı erken durdurmak için bloktan break ile çıkın ya da close çağırın.
  • Hatalar Lingara::Error sınıfından türer. retry_after saniye cinsinden bir sayıdır ya da API bir bekleme süresi belirtmediyse nil olur.
  • Lingara::Client.new metoduna anahtar kelime argümanları vererek bir istemci oluşturun. Net::HTTP seçenekleri net_http_options içine girer; onun okuma zaman aşımı aynı zamanda akışın boşta kalma zaman aşımıdır.

Aşağıdaki örnekler gem’i kurar, bir istemci oluşturur, bir kelime listesini akış hâlinde alır ve bir hatayı işler.

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

Bu sayfanın sarmaladıkları