使用"金山词霸查词接口beta版"实现了在线查询单词功能,以下是代码:
require 'open-uri'
require 'rexml/document'
require 'cgi'
include REXML
#
# My first ruby program: Search word via Ciba web API.
#
# Refer the following stuff:
#
# 1. http://web.iciba.com/partner/api01.shtml
# 2. http://sincenow.chayv.com/?p=43
# 3. http://simohayha.iteye.com/blog/160234
# 4. http://www.ruby-forum.com/topic/58715
# 5. http://www.ruby-doc.org/core/
#
class Ciba
def initialize(word)
@word = word
end
def search
open("http://dict-co.iciba.com/api/dictionary.php?w=" + CGI::escape(@word)) do
|http| @result = http.read
end
end
def parse
doc = Document.new(@result)
doc.elements.each("dict/key") { |e| puts e.text }
doc.elements.each("dict/ps") { |e| puts "[" + e.text + "]" }
pos_array = Array.new()
doc.elements.each("dict/pos") { |e| pos_array.push(e.text) }
acc_array = Array.new()
doc.elements.each("dict/acceptation") { |e| acc_array.push(e.text) }
pos_array.each_index { |i| puts pos_array[i] + " " + acc_array[i] }
pos_array.clear
doc.elements.each("dict/sent/orig") { |e| pos_array.push(e.text) }
acc_array.clear
doc.elements.each("dict/sent/trans") { |e| acc_array.push(e.text) }
pos_array.each_index { |i| puts "例句" + (i+1).to_s + ":" + pos_array[i] + " " + acc_array[i] }
end
end
ciba = Ciba.new("cool")
puts ciba.search
3.times {puts ""}
ciba.parse
以上程序的输出为:
<?xml version="1.0" encoding="UTF-8"?><dict num="219" id="219" name="219"><key>cool</key><ps>ku:l</ps><pron>http://res.iciba.com/resource/amp3/b/1/b1f4f9a523e36fd969f4573e25af4540.mp3</pron><pos>n.</pos><acceptation>凉爽, 凉爽的空气</acceptation><pos>adj.</pos><acceptation>凉爽, 冷静的, 无所顾虑的, 淡漠的</acceptation><pos>v.</pos><acceptation>使冷, 使镇定</acceptation><sent><orig>Cool.</orig><pron>http://res.iciba.com/resource/phrase_mp3/6/3/63ebe9d367b10545dfd1c2cb7448c3e4.mp3</pron><trans>很好。</trans></sent><sent><orig>That's cool!</orig><pron>http://res.iciba.com/resource/phrase_mp3/8/c/8c6332d149db7bcc1498d0af543cc82b.mp3</pron><trans>好极了!</trans></sent><sent><orig>Keep cool!</orig><pron>http://res.iciba.com/resource/phrase_mp3/b/9/b98249b38337c5088bbc660d8f872d6a.mp3</pron><trans>保持冷静!别慌!</trans></sent><sent><orig>Cool it.</orig><pron>http://res.iciba.com/resource/phrase_mp3/e/6/e68dc4981c2310e883786e7f723fa37d.mp3</pron><trans>冷静下来,别那样兴奋。</trans></sent><sent><orig>a cool autumn day; a cool room; cool summer dresses; cool drinks; a cool breeze.</orig><pron>http://res.iciba.com/resource/phrase_mp3/a/f/af885e92d18e71365cfcbb9642c4ec60.mp3</pron><trans>凉爽的秋天;凉爽的房间;凉爽的夏装;凉爽的饮料;凉爽的微风。</trans></sent></dict>
cool
[ku:l]
n. 凉爽, 凉爽的空气
adj. 凉爽, 冷静的, 无所顾虑的, 淡漠的
v. 使冷, 使镇定
例句1:Cool. 很好。
例句2:That's cool! 好极了!
例句3:Keep cool! 保持冷静!别慌!
例句4:Cool it. 冷静下来,别那样兴奋。
例句5:a cool autumn day; a cool room; cool summer dresses; cool drinks; a cool breeze. 凉爽的秋天;凉爽的房间;凉爽的夏装;凉爽的饮料;凉爽的微风。
分享到:
相关推荐
在Ruby中,Selenium主要通过WebDriver接口来实现,这是一个开源的、跨平台的API,可以与多种浏览器(如Chrome、Firefox、Edge等)进行通信。 首先,让我们了解一下Ruby Selenium的基本概念: 1. **Ruby**: Ruby是...
Ruby FastJSONAPI 是一个专为Ruby对象设计的高性能JSON:API序列化库。它旨在帮助开发者以简洁、高效的方式将Ruby对象转换为符合JSON:API规范的JSON格式,极大地提高了开发效率和应用程序的性能。 JSON:API是一个...
Ruby API:轻松查找Ruby文档 Ruby API使搜索或浏览Ruby语言API文档变得轻松快捷。 为什么? 现有的Ruby文档网站很难搜索,也无法在移动设备上阅读。 Ruby API提供了受启发的即时搜索结果,以及易于在任何大小的...
《Ruby Programming:向Ruby之父学程序设计(第2版)》是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了各种知识。从程序所需要的变量、常数、方法、类、控制结构等语法的说明,到类的主要...
Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档Ruby API 帮助文档
Sketch Up Ruby API by Sugar 是一份关于 SketchUp 的 Ruby API 文档,用于帮助开发者使用 Ruby 语言开发 SketchUp 插件和应用程序。该文档提供了详细的 API 参考手册,涵盖了 SketchUp 的各个方面,包括应用程序...
Ruby API资料是一组重要的开发资源,它为使用Ruby编程语言的开发者提供了详尽的文档和接口信息。在本文中,我们将深入探讨Ruby API的核心概念、关键特性以及如何利用这些资料来提升开发效率。 Ruby是一种面向对象的...
总之,"云片短息Ruby服务器端API"是一个方便的工具,它让Ruby开发者能轻松地在服务器端集成短信服务,实现诸如验证码发送、用户通知等功能。通过理解和熟练使用这个API,你可以提升应用的功能性和用户体验。
Rails框架是Ruby的一个重要应用,它是一个基于MVC(模型-视图-控制器)架构的Web开发框架,简化了Web应用的开发过程。学习Rails API,需要了解路由、控制器、模型、视图、ActiveRecord ORM(对象关系映射)以及Rails...
1. **Ruby基础**: Ruby是一种面向对象的动态编程语言,强调简洁、优雅的语法。它的核心概念包括类、对象、方法、变量(局部、实例、类和全局)以及控制结构(如if、case、循环等)。 2. **类与对象**: Ruby中的所有...
Ruby 1.8.6 是 Ruby 的一个旧版本,发布于2009年。在那个时期,Ruby 社区正在快速发展,许多流行框架如 Ruby on Rails 正在崛起。这个版本的 API 文档对于仍在使用或研究老版本 Ruby 的开发者来说尤其重要,因为它...
Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,专为敏捷开发而设计,强调简洁的代码和“约定优于配置”的原则。它主要用于构建数据驱动的Web应用,借助于MVC(Model-View-Controller)...
Ruby API Docs是针对Ruby编程语言的一份详尽的官方文档,它为开发者提供了关于Ruby标准库和核心类库的详细信息。这份文档包含了1.8.7和1.9.2两个版本,这两个版本在Ruby的发展历程中具有重要的地位。Ruby API Docs...
Ruby-JSONAPIResources 是一个基于 Ruby 的框架,专门用于构建遵循 JSON API 规范的服务器端应用。JSON API 是一种标准化的数据交换格式,它旨在提高客户端与服务器之间的数据交互效率和可读性,广泛应用于RESTful ...
如果任何需要旧版rubyzip的第三方gem出现问题,则可以使用以下解决方法: gem 'rubyzip' , '>= 1.0.0' # will load new rubyzip version gem 'zip-zip' # will load compatibility for old rubyzip API. 要求 Ruby...
英雄之旅API Ruby on Rails 6课程作为创建Heroes CRUD的API。 该存储库是YouTube 的。 Ruby版本2.7.2 Rails版本6.1.x 数据库SQLite3(dev)/ PostgreSQL(产品)运行项目的初始设置# clone the projectgit clone ...
在Ruby开发中,有时我们需要将地址转换为经纬度坐标,或者根据坐标反向查询地址,这时可以利用百度地图API来实现。本篇文章将详细介绍如何在Ruby中使用百度地图API进行地址定位、坐标定位以及名称定位。 首先,我们...
标题中的"ruby 最新 安装文件"指的是Ruby的最新版本安装程序,这通常是针对特定操作系统的,比如在描述中提到的"ruby window 版本安装文件",是指适用于Windows平台的Ruby安装程序。RubyInstaller是为Windows用户...
1. 面向对象:Ruby是一种纯面向对象的语言,每一个数据类型都是一个对象,包括基本类型如整数、字符串和布尔值。这意味着你可以对任何对象进行方法调用,这极大地增强了代码的灵活性和可扩展性。 2. 动态类型:在...