Lingara Lingara Τεκμηρίωση Οδηγοί API Βιβλιοθήκες Εφαρμογές Δημιουργία Διαδικτυακή εφαρμογή
Γλώσσα: Ελληνικά

Ruby

Αυτή η σελίδα έχει μεταφραστεί από τα αγγλικά. Αν οι δύο διαφέρουν, η αγγλική σελίδα είναι η σωστή. Διαβάστε την αγγλική σελίδα

Η βιβλιοθήκη για Ruby είναι το gem lingara στο RubyGems. Απαιτεί Ruby 3.3 ή νεότερη και χρησιμοποιεί το Net::HTTP από την τυπική βιβλιοθήκη, χωρίς άλλα gems.

Πώς διαβάζεται

  • Οι κλήσεις είναι σύγχρονες. Ένας client μπορεί να μοιράζεται μεταξύ νημάτων και παραμένει σωστός και μετά από ένα fork.
  • Περάστε ένα block σε μια κλήση ροής και κάθε συμβάν παραδίδεται σε αυτό. Χωρίς block λαμβάνετε αντί γι’ αυτό μια ροή Enumerable, η οποία είναι οκνηρή: το αίτημα αποστέλλεται στο πρώτο each ή next. Μια ροή που διαβάζεται με next χρειάζεται ρητό close.
  • Αντιστοιχίστε τα συμβάντα με case και in.
  • Για να σταματήσετε μια ροή νωρίς, βγείτε από το block με break, ή καλέστε close.
  • Τα σφάλματα κληρονομούν από το Lingara::Error. Το retry_after είναι ένας αριθμός δευτερολέπτων, ή nil όταν το API δεν όρισε αναμονή.
  • Δημιουργήστε έναν client με ορίσματα λέξεων-κλειδιών στο Lingara::Client.new. Οι επιλογές για το Net::HTTP μπαίνουν στο net_http_options· το χρονικό όριο ανάγνωσής του είναι και το χρονικό όριο αδράνειας της ροής.

Τα παρακάτω δείγματα εγκαθιστούν το gem, δημιουργούν έναν client, μεταδίδουν σε ροή μια λίστα λεξιλογίου και χειρίζονται ένα σφάλμα.

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

Τι περιβάλλει αυτή η σελίδα