Ruby
Hierdie bladsy is uit Engels vertaal. As die twee verskil, is die Engelse bladsy korrek. Lees die Engelse bladsy
Die Ruby-biblioteek is die lingara-gem op RubyGems. Dit vereis Ruby 3.3 of later en gebruik Net::HTTP uit die standaardbiblioteek, sonder ander gems.
Hoe dit lees
- Oproepe is sinchronies. Een kliënt kan tussen drade gedeel word, en dit bly korrek oor ‘n
forkheen. - Gee ‘n blok aan ‘n stroomoproep en elke gebeurtenis word daaraan gelewer. Sonder ‘n blok kry jy eerder ‘n
Enumerable-stroom, wat lui is: die versoek word by die eersteeachofnextgestuur. ‘n Stroom wat metnextgelees word, het ‘n uitdruklikeclosenodig. - Pas gebeurtenisse met
caseenin. - Om ‘n stroom vroeg te stop, verlaat die blok met
break, of roepcloseaan. - Foute erf van
Lingara::Error.retry_afteris ‘n aantal sekondes, ofnilwanneer die API geen wagtyd genoem het nie. - Skep ‘n kliënt met sleutelwoordargumente aan
Lingara::Client.new. Opsies vir Net::HTTP gaan innet_http_options; sy lees-uitteltyd is ook die stroom se ledige uitteltyd.
Die voorbeelde hieronder installeer die gem, skep ‘n kliënt, stroom ‘n woordelys en hanteer ‘n fout.
Ruby
gem install lingara -v 0.1.0-alpha.6Ruby
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
endRuby
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