morpher.ru 8 (499) 647 86 54
nowhere@morpher.ru
 
 
Мой морфер

Склонение по падежам на Ruby

Пример программы вызова веб-сервиса склонения по падежам:

# encoding: utf-8 class Morpher def initialize(phrase) client = Savon.client do |globals| globals.wsdl 'http://morpher.ru/WebService.asmx?WSDL' globals.soap_version 2 globals.soap_header header end response = client.call(:get_xml, message: {s: phrase}, :attributes => {:xmlns => 'http://morpher.ru/'}) @data = response.to_array(:get_xml_response, :get_xml_result).first end def singular(padeg) @data[padeg.to_sym] end def plural(padeg) @data[:множественное][padeg.to_sym] end private def header { 'Credentials' => { 'Username' => 'test', 'Password' => 'test' }, :attributes! => {'Credentials' => {:xmlns => 'http://morpher.ru/'}} } end end

Пример использования:

>> text = Morpher.new('Большой город') {:Р=>"Большого города", :Д=>"Большому городу", :В=>"Большой город", :Т=>"Большим городом", :П=>"Большом городе", :П_о=>"о Большом городе", :род=>"Мужской", :множественное=>{:И=>"Большие города", :Р=>"Больших городов", :Д=>"Большим городам", :В=>"Большие города", :Т=>"Большими городами", :П=>"Больших городах", :П_о=>"о Больших городах"}, :где=>"в Большом городе", :куда=>"в Большой город", :откуда=>"из Большого города"} >> text.singular('Д') "Большому городу" >> text.plural('Д') "Большим городам" >> text.singular('П_о') "о Большом городе" >> text.singular('где') "в Большом городе" >> text.singular('куда') "в Большой город" >> text.singular('откуда') "из Большого города" >> text.singular('род') "Мужской"

Для работы необходим gem Savon. За пример спасибо Paprikas.

Пример использует функцию склонения веб-сервиса «Морфер» 2.0.



 

Библиотеки

Заметили опечатку? Выделите слово мышкой и нажмите Ctrl-Enter. Система Orphus

© Сергей Слепов, 2003 - 2017. Перепечатка материалов сайта только с разрешения автора.