庄周梦蝶,孰蝶是我,我是孰蝶?一梦至今,蝶我已难分
首页
新随笔
联系
聚合
管理
随笔-305 评论-328 文章-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
阅读(1096)
评论(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键可以直接提交]
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
Ruby Tip——读文件
Ruby 1.9概要(5) 异常
Ruby 1.9概要(4) Block和Proc
Ruby 1.9概要(3)类和模块
Ruby 1.9概要(2)Kernel和Object
Ruby 1.9概要(1)新的语法和语义
Ruby写Servlet的小例子
工作上的几个tip
JRuby中调用java带可变参数的方法
最近的工作
热爱编程,从事Java、Ruby开发,关注java、ruby、web开发、高性能网络编程和FP等方面,有兴趣的一起探讨,我的gmail:
输入您的搜索字词
提交搜索表单
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(18)
给我留言
查看公开留言
查看私人留言
随笔分类
C#历程(13)
erlang(12)
Hadoop与分布式(5)
java(75)
linux & C(20)
my open-source(25)
Prolog(2)
web开发(13)
动态语言 & rails(55)
工作流(5)
数据库技术(13)
数据结构与算法(19)
模式与架构(18)
涂鸦(74)
源码解读(15)
计算机科学与基础(33)
软件工程(2)
随笔档案
2008年10月 (7)
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
开放源码托管
yanf4j
Yet another nio framework for java
云之远
坏男孩
多背一公斤
公益,从你我做起
邢红瑞的blog
锋爷的blog
偶像
资源类
canonical
非常有思考价值的blog
javaeye
TopLanguage
梦想风暴
负暄琐话
最新随笔
1. Ruby Tip——读文件
2. 一封邮件
3. Ruby 1.9概要(5) 异常
4. Ruby 1.9概要(4) Block和Proc
5. Ruby 1.9概要(3)类和模块
6. Ruby 1.9概要(2)Kernel和Object
7. Ruby 1.9概要(1)新的语法和语义
8. 广州opensource camp小记(09.20)
9. 奶粉抽查结果也造假?
10. 污染?还是造假?
搜索
积分与排名
积分 - 206974
排名 - 31
最新评论
1. re: 一封邮件
又是诈骗的
--Jack.Wang
2. re: 一封邮件
正解啊,自己还快养不活了,还要N奶干嘛,我们都是初级阶段的苦命娃啊
--Arbow
3. re: 一封邮件
看来你给N奶们盯上
--maninred
4. re: 一封邮件[未登录]
哇靠,你丫终于艳遇了....
--tony
5. re: 广州opensource camp小记(09.20)
@dennis
其实也不是的,可以讲讲Rb19,可以讲讲除了Rails外的Merb,可以讲讲BDD。下次想见见LZ,下次Rbist都在衣着上做些标记?
--maninred
阅读排行榜
1. javascript之DOM技术(一)(5117)
2. 体验了一把JavaFx(4534)
3. 图文并茂——使用xfire编写webservice,并通过C#调用(4325)
4. Hadoop分布式文件系统:架构和设计要点(4225)
5. javascript之DOM技术(二)(3746)
评论排行榜
1. 用osworkflow写一个请假例子(26)
2. 图文并茂——使用xfire编写webservice,并通过C#调用(13)
3. 体验了一把JavaFx(10)
4. 用递归计算阶乘咋不行呢?(10)
5. Hadoop分布式文件系统:架构和设计要点(10)
60天内阅读排行
1. 从HDFS看分布式文件系统的设计需求(1978)
2. 线程池池(1801)
3. HDFS用户指南(翻译)(1798)
4. 污染?还是造假?(1708)
5. 阻塞队列的性能对比(1603)