Ruby
دا پاڼه له انګلیسي ژبې ژباړل شوې ده. که دواړه سره توپیر ولري، انګلیسي پاڼه سمه ده. انګلیسي پاڼه ولولئ
د Ruby کتابتون په RubyGems کې د lingara gem دی. دا Ruby 3.3 یا نوي ته اړتیا لري او له معیاري کتابتون څخه Net::HTTP کاروي، بې له کوم بل gem.
په عمل کې څنګه دی
- کالونه همغږي دي. یو کلاینټ د تارونو ترمنځ شریکېدای شي، او د
forkپه اوږدو کې سم پاتې کېږي. - یو بلاک جریاني کال ته ورکړئ او هره پېښه به هغه ته وسپارل شي. بې له بلاک تاسو پرځای یې یو
Enumerableجریان ترلاسه کوئ، چې ټمبل دی: غوښتنه په لومړيeachیاnextکې لېږل کېږي. هغه جریان چې پهnextلوستل کېږي یو څرګندcloseته اړتیا لري. - پېښې په
caseاوinسره سمون کړئ. - د جریان د وخته درولو لپاره، له بلاک په
breakووځئ، یاcloseته کال وکړئ. - تېروتنې له
Lingara::Errorمیراث اخلي.retry_afterد ثانیو شمېر دی، یاnilکله چې API د انتظار موده نه وي ویلې. - کلاینټ
Lingara::Client.newته د کلیدي آرګومانونو په ورکولو جوړ کړئ. د Net::HTTP اختیارونه پهnet_http_optionsکې ځي؛ د هغه د لوستلو مهلت د جریان د بېکارۍ مهلت هم دی.
لاندې بېلګې gem نصبوي، یو کلاینټ جوړوي، د لغتونو یو لېست په جریان کې راوړي او یوه تېروتنه اداره کوي.
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