庄周梦蝶,孰蝶是我,我是孰蝶?一梦至今,蝶我已难分
首页
新随笔
联系
聚合
管理
随笔-370 评论-469 文章-7 trackbacks-0
利用google在线翻译制作自己的翻译程序之ruby版
刚学ruby时写的工具,我自己一直在用,放在桌面上,遇到不懂单词就得问它。发在railscn上,ranchgirl修改的更为ruby way。
受blogjava上的帖子启发,实在是个有趣的主意,写了个ruby版本的,对俺这等英语一般的同学来说,google在线翻译经常使用呐,原贴之java版
http://www.blogjava.net/ekinglong/archive/2006/11/12/80704.html?Pending=true#Post
require
'
net/http
'
def translate
txt
=
STDIN
.
gets
break
if
txt
.
strip
==
'
e
'
or txt
.
strip
==
'
exit
'
temp
=
txt
.
split
(
'
'
)
if
temp[
1
]
==
'
1
'
or temp
.
size
==
1
langpair
=
'
en|zh-CN
'
else
langpair
=
'
zh-CN|en
'
end
#
使用代理
$proxy_addr
=
'127.0.0.1
'
$proxy_port
=
80
response
=
Net
::
HTTP
.
Proxy(
$proxy_addr
,
$proxy_port
)
.
post_form(URI
.
parse(
"
http://translate.google.com/translate_t
"
)
,
{
'
text
'
=>
temp[
0
]
,
'
langpair
'
=>
langpair})
response
.
body
=~
/<
div id
=
result_box dir
=
ltr
>
(
.*
)
<\/
div
>/
result
=
$
1
puts
'
翻译内容:
'
+
temp[
0
]
puts
'
google返回:
'
+
result
puts
'
-------------------退出请打e或者exit---------------
'
translate
end
translate
ranchgirl修改的版本,没有使用递归:
require
'
net/http
'
def usage
"
usage: word [lang2 [lang1]]\n
"
+
"
Translate word from lang1 (default en, English) to lang2 (default es, Spanish)\n
"
+
"
ISO language code: http://www.unicode.org/unicode/onlinedat/languages.html
"
end
def translate
arr
=
ARGV
if
!
arr[
0
] then puts usage;
return
end
arr[
1
]
=
"
es
"
unless
arr[
1
]
arr[
2
]
=
"
en
"
unless
arr[
2
]
langpair
=
"
#{arr[2]}|#{arr[1]}
"
response
=
Net
::
HTTP
.
post_form(URI
.
parse(
"
http://translate.google.com/translate_t
"
)
,
{
:
text
=>
arr[
0
]
,
:
langpair
=>
langpair})
response
.
body
=~
/<
div id
=
result_box dir
=
ltr
>
(
.*
)
<\/
div
>/
result
=
$
1
result
=
"
No #{langpair} translation available for #{arr[0]}
"
if
result
.
size
==
0
puts result
end
translate
posted on 2007-02-06 13:33
dennis
阅读(1208)
评论(3)
编辑
收藏
所属分类:
动态语言 & rails
评论:
#
re: 利用google在线翻译制作自己的翻译程序之ruby版 2008-07-09 14:43 |
陈菲
#include<stdio.h>
#define MAX 2147483647
long re(long int);
int nonres(long int s);
void main()
{
long int n,m;
int count=0;
printf("Please enetr a number optionaly:");
scanf("%ld",&n);
printf("The generation process of palindrome:\n");
while(!nonres((m=re(n))+n))
{
if(m+n>=MAX)
{
printf(" input error,break.\n");
break;
}
else
{
printf("[%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
n+=m;
}
}
printf("[%d]:%ld+%ld=%ld\n",++count,n,m,m+n);
printf("Here we reached the aim at last!\n");
}
long re(long int a)
{
long int t;
for(t=0;a>0;a/=10)
t=t*10+a%10;
return t;
}
int nonres(long int s)
{
if(re(s)==s) return 1;
else return 0;
}
回复
更多评论
#
re: 利用google在线翻译制作自己的翻译程序之ruby版 2008-08-11 15:14 |
小博
从33个数中选6个数的排列,要全部显示出来的.但不能重复.
回复
更多评论
#
re: 利用google在线翻译制作自己的翻译程序之ruby版
2008-08-11 16:41 |
dennis
@小博
你们两位干嘛呢,自说自话
回复
更多评论
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
Scala Ring Benchmark
关于Object.object_id方法
scheme中文编程
安装配置Emacs-rails
ubuntu下解决Ruby安装后缺少openssl的问题
使用Ruby amb解决说谎者谜题
降低JRuby的内存占用的可能方法
swfheader 0.10 Released(已更正下载地址)
Ruby Tip——读文件
Ruby 1.9概要(5) 异常
热爱编程,从事C/C++、Java、Ruby开发,关注高性能网络编程和函数式编程等方面,有兴趣的一起探讨,我的gmail:
输入您的搜索字词
提交搜索表单
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(29)
给我留言
查看公开留言
查看私人留言
随笔分类
ACE & libevent & apr(2)
C#历程(13)
erlang(12)
Hadoop与分布式(5)
java(103)
linux & C(24)
my open-source(40)
Prolog(3)
web开发(13)
动态语言 & rails(63)
小毅同学二三事(1)
工作流(5)
数据库技术(13)
数据结构与算法(21)
模式与架构(18)
涂鸦(89)
源码解读(17)
计算机科学与基础(45)
软件工程(2)
随笔档案
2009年6月 (9)
2009年5月 (11)
2009年4月 (3)
2009年3月 (12)
2009年2月 (7)
2009年1月 (3)
2008年12月 (2)
2008年11月 (12)
2008年10月 (12)
2008年9月 (7)
2008年8月 (9)
2008年7月 (3)
2008年6月 (10)
2008年5月 (11)
2008年4月 (12)
2008年3月 (10)
2008年2月 (12)
2008年1月 (10)
2007年12月 (2)
2007年11月 (6)
2007年10月 (11)
2007年9月 (19)
2007年8月 (11)
2007年7月 (20)
2007年6月 (16)
2007年5月 (16)
2007年4月 (25)
2007年3月 (35)
2007年2月 (52)
文章分类
java(6)
ruby & rails(1)
友情链接
BIGN's blog
SVNHost
开放源码托管
swfheader
xmemcached
yanf4j
Yet another nio framework for java
云之远
坏男孩
多背一公斤
老朱的blog
邢红瑞的blog
锋爷的blog
阿宝的blog
阿欢的blog
资源类
javaeye
TopLanguage
梦想风暴
负暄琐话
最新随笔
1. os的进程调度(读书笔记)
2. 最近的工作(mina vs. yanf4j)
3. xmemcached发布1.1.2 (权重、noreply、spring集成)
4. Xmemcached实现权重memcached节点(更新)
5. sicp 5.1节习题尝试解答
6. Scala Ring Benchmark
7. Java Memcached Client的Benchmark——xmemcached发布1.1.1
8. 24条人命比不上党的喉舌一条命
9. 累并快乐着
10. 方法签名,泛型滥用?
搜索
积分与排名
积分 - 328793
排名 - 28
最新评论
1. re: 写操作系统?看看这个(转载)
评论内容较长,点击标题查看
--upwardit
2. re: 轻松实现Apache,Tomcat集群和负载均衡(转)
我也是按照你这样配置的,我配了两个Tomcat 可是为什么我的两个服务器不能实现负载均衡呢?值能是一个Down掉了另一个才起得来,这是为什么呀?
--叶天
3. re: 轻松实现Apache,Tomcat集群和负载均衡(转)
请尽快的回答我行吗 急用 谢谢
--叶天
4. re: xmemcached发布1.1.2 (权重、noreply、spring集成)[未登录]
@ymfans
多谢关注,有任何问题和bug请及时反馈,感谢使用。
--dennis
5. re: xmemcached发布1.1.2 (权重、noreply、spring集成)
谢谢,果然是忘了检查 memcached的版本
--ymfans
阅读排行榜
1. Hadoop分布式文件系统:架构和设计要点(14401)
2. 体验了一把JavaFx(12060)
3. javascript之DOM技术(一)(7584)
4. 图文并茂——使用xfire编写webservice,并通过C#调用(5749)
5. 用osworkflow写一个请假例子(4770)
评论排行榜
1. 用osworkflow写一个请假例子(26)
2. Hadoop分布式文件系统:架构和设计要点(18)
3. 图文并茂——使用xfire编写webservice,并通过C#调用(13)
4. 体验了一把JavaFx(12)
5. 关于加班(10)
60天内阅读排行
1. 方法签名,泛型滥用?(1487)
2. xmemcached正式发布1.10——比spymemcached更快。(1253)
3. xmemcached发布1.1.2 (权重、noreply、spring集成)(1082)
4. Java Memcached Client的Benchmark——xmemcached发布1.1.1(1026)
5. xmemcached发布1.10 RC3(附最新测试结果)(994)