Ruby
Isinalin mula sa Ingles ang pahinang ito. Kung magkaiba ang dalawa, ang pahinang Ingles ang tama. Basahin ang pahinang Ingles
Ang Ruby library ay ang gem na lingara sa RubyGems. Kailangan nito ang Ruby 3.3 o mas bago at ginagamit ang Net::HTTP mula sa standard library, nang walang ibang gem.
Paano ito gamitin
- Synchronous ang mga tawag. Maaaring pagsaluhan ng mga thread ang iisang client, at nananatili itong tama kahit dumaan sa isang
fork. - Magpasa ng block sa isang streaming na tawag at ibibigay dito ang bawat event. Kung walang block, makakakuha ka sa halip ng isang
Enumerablena stream, na lazy: ipinapadala ang request sa unangeachonext. Ang stream na binabasa gamit angnextay nangangailangan ng tahasangclose. - Itugma ang mga event gamit ang
caseatin. - Para ihinto nang maaga ang stream, lumabas sa block gamit ang
break, o tawagin angclose. - Ang mga error ay nagmamana mula sa
Lingara::Error. Angretry_afteray bilang ng segundo, onilkapag walang itinakdang paghihintay ang API. - Gumawa ng client gamit ang mga keyword argument sa
Lingara::Client.new. Ang mga option para sa Net::HTTP ay inilalagay sanet_http_options; ang read timeout nito ay siya ring idle timeout ng stream.
Ini-install ng mga halimbawa sa ibaba ang gem, gumagawa ng client, nag-i-stream ng listahan ng bokabularyo at humahawak ng error.
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