Lingara Lingara दस्तावेज़ मार्गदर्शिकाएँ API लाइब्रेरी ऐप बनाएं वेब ऐप
भाषा: हिन्दी

Ruby

यह पेज अंग्रेज़ी से अनुवादित है। अगर दोनों में अंतर हो, तो अंग्रेज़ी पेज सही है। अंग्रेज़ी पेज पढ़ें

Ruby लाइब्रेरी RubyGems पर lingara gem है। इसके लिए Ruby 3.3 या उसके बाद का संस्करण चाहिए और यह स्टैंडर्ड लाइब्रेरी के Net::HTTP का उपयोग करती है, किसी और gem के बिना।

इसे कैसे इस्तेमाल करें

  • कॉल सिंक्रोनस होती हैं। एक क्लाइंट को थ्रेड्स के बीच साझा किया जा सकता है, और यह fork के बाद भी सही बना रहता है।
  • किसी स्ट्रीमिंग कॉल को एक block दें और हर इवेंट उसे yield किया जाता है। block के बिना आपको इसके बजाय एक Enumerable स्ट्रीम मिलती है, जो lazy है: अनुरोध पहले each या next पर भेजा जाता है। next से पढ़ी गई स्ट्रीम को स्पष्ट रूप से close करना पड़ता है।
  • इवेंट्स को case और in से मिलाएँ।
  • स्ट्रीम को जल्दी रोकने के लिए, break से block से बाहर निकलें, या 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.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

यह पेज क्या रैप करता है