Lingara Lingara Ohjeet Oppaat API Kirjastot Sovellukset Rakenna Verkkosovellus
Kieli: Suomi

Ruby

Tämä sivu on käännetty englannista. Jos ne eroavat toisistaan, englanninkielinen sivu on oikea. Lue englanninkielinen sivu

Ruby-kirjasto on RubyGems-palvelun gem lingara. Se vaatii Ruby 3.3 -version tai uudemman ja käyttää vakiokirjaston Net::HTTP-toteutusta ilman muita gemejä.

Miltä se näyttää

  • Kutsut ovat synkronisia. Yhtä asiakasta voi jakaa säikeiden kesken, ja se pysyy oikeana myös fork-kutsun yli.
  • Anna virtaavalle kutsulle lohko, niin jokainen tapahtuma välitetään sille. Ilman lohkoa saat sen sijaan Enumerable-virran, joka on laiska: pyyntö lähetetään ensimmäisellä each- tai next-kutsulla. next-kutsulla luettu virta tarvitsee erillisen close-kutsun.
  • Sovita tapahtumat rakenteella case ja in.
  • Lopettaaksesi virran aikaisin poistu lohkosta break-lauseella tai kutsu close.
  • Virheet periytyvät luokasta Lingara::Error. retry_after on sekuntimäärä, tai nil, kun API ei ilmoittanut odotusaikaa.
  • Luo asiakas avainsana-argumenteilla kutsulle Lingara::Client.new. Net::HTTP-asetukset menevät kohtaan net_http_options; sen lukuaikakatkaisu on myös virran joutoaikakatkaisu.

Alla olevat esimerkit asentavat gemin, luovat asiakkaan, virtauttavat sanastoluettelon ja käsittelevät virheen.

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

Mitä tämä sivu kääri