admin | Scala | 2012-02-04
scala eclipse插件安装

一、Scala 安装(windows)
可以从 Scala 主页: http://www.scala-lang.org/ 下载 Scala 包,截止到目前为止,最新的发行版是 2.7.6-final

下载完成后解压,比如解压目录是d:\Program Files\scala-2.7.6,然后将d:\Program Files\scala-2.7.6\bin加如到环境变量path中

在cmd输入scala -version查看是否安装成功

二、开发环境(这里选eclipse+scala_eclipse_plugin)
这里需要注意的是,scala的eclipse插件是eclipse 3.5的
插件也支持3.4,但是需要手动下载插件安装包

如果在3.5eclipse中无法安装,就先更新eclipse到最新,然后安装

Eclipse的Scala的插件下载地址为:http://www.scala-lang.org/node/94,也可以通过Eclipse 的Update Manager 的方式下载:http://www.scala-lang.org/scala-eclipse-plugin

三、scala简单示例开发
1.打开window–open perspective–other–scala
2.file–new–Scala project  输入项目名称。。。路径。。。
3.在生成的项目中建立一个scala的文件,假定为HelloWorld

在HelloWorld中增加代码
Java代码
object HelloWorld {
def …

admin | Ruby | 2012-02-03
Ruby基础教程

介绍

       这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby官方网站进行下载并安装。

交互式的Ruby

打开IRB(交互式Ruby外壳):
如果你使用Mac OS X,那么请打开终端窗口输入irb;
如果你使用Linux,那么请打开shell输入irb;
如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行它。
image

Ok,在打开IRB之后,在其中输入”Hello World”。
image

Ruby听从你的安排!

发生了什么?我们刚才编写了世界上最短小的“Hello World”程序吗?这么说不太确切。第二行输出是IRB告诉我们:上一个表达式的评估结果。如果我们希望打印出“Hello World”,那么就还需要一点努力:
image

puts在Ruby中是一个简单的打印输出命令。后面的“=> nil”表示什么?——那是表达式的结果。Puts总是返回nil,这是Ruby中表示“绝对无值”(absolutely-positively-nothing value)的方式,看上去有些类似Java中的null。

你的免费计算器在这里!

无需做什么,我们就能把IRB作为一个简单的计算器使用:

image

这样就能计算3+2。够简单的!那么3乘以2如何?你可以在下面继续输入3*2,也可以回到上面(3+2处)重新修改你刚刚输入的计算公式。使用键盘上的向上键,使光标到达3+2那一行,再用左键移动光标到加号上,然后使用空格键进行修改。image

下面,让我们尝试计算3的平方:
image

在Ruby语言中,**表示幂运算。那么如何计算平方根呢?
image

Ok,等一下,表达式中的sqrt(9)表示什么?你一定能猜到这是计算9的平方根。而Math表示什么?不要着急,下面就让我们进一步了解像Math这样的模块。

模块——按照主题分组的代码

Math是Ruby内建的数学模块。在Ruby中,模块提供了两种角色:一种角色是将类似的方法聚集在同一个“家族”名下。因此,Math也包括sin、tan这样的方法。第二种角色是一个圆点(dot),它标记了消息的接收者。什么是消息?在上面的例子中,sqrt(9)便是消息,它意味着调用sqrt方法取出9的平方根。

Sqrt方法调用的结果是3.0。你可能注意到它并不是3。这是因为多数情况下,数字的平方根并不是整数,所以这里返回了一个浮点数。

那么我们如何记住这些计算结果呢?——将结果赋值给变量。
image

如何定义方法?

如何才能方便省事地随意输出字符串,而无需过多地劳烦我们的手指呢?——我们需要定义一个方法!
image

上面的代码中第一行“def h”标志着方法定义的开始。它告诉Ruby我们正在定义一个名为h的方法。下面一行是方法体:puts “Hello World”。最后,也就是第三行“end”通知Ruby我们完成了方法定义。Ruby的回应“=> nil”告诉我们它已经知道我们定义了此方法。…

admin | Ruby |
Ruby DBI操作MySql数据库

使用Ruby操作数据库,可能不会在Ruby on Rails中用得到。但是这种使用Ruby直接操作数据库的方法,有时候还真可以派得上用场。我们都知道Ruby是一种类似Perl和Python的语言,但其功能却比这两种语言强大不知道多少倍。Ruby几乎全部继承了Perl的优点,又克服了Perl的缺点。而且完全面向对象,其功能之强大, Perl和Python绝对望尘莫及。
Ruby甚至可以取代传统的shell脚本语言,例如我们编写shell程序都使用awk之类的语言,用Ruby也完全可以做得到。但是你可以使用awk连接数据库么?当然不能。有人使用Python连接数据库,并在一定程度上也实现了替代awk的功能,这当然完全没有问题。但这里给出的是 Ruby的实现方法。其实也是蛮简单的。简单归简单,如果没做过的话,看上去也很难。下面我们就开始:
一、安装ruby-dbi
下载地址:http://rubyforge.org/projects/ruby-dbi/
下载ruby-DBI(我下载的是dbi-0.1.1.tar.gz),解压后进入目录运行如下命令:
E:\ruby-dbi>ruby setup.rb config –with=dbi,dbd_mysql
entering config phase…
config done.

E:\ruby-dbi>ruby setup.rb setup
entering setup phase…
setting #! line to “#!e:/ruby/bin/ruby”
setup.rb: skip bin/proxyserver(dbd_proxy) by user option
setup.rb: skip ext/dbd_sqlite(dbd_sqlite) by …

admin | Ruby |
linux安装ruby on rails错误

linux上安装ruby on rails错误信息:

ERROR: Loading command: install (LoadError)

no such file to load — zlib
ERROR: While executing gem … (NameError)

uninitialized constant Gem::Commands::InstallCommand

 

解决办法:

cd ruby-x-x-x-/ext/zlib
ruby extconf.rb
make
make install
gem install rails

搞定,可能是编译ruby的时候没有指定加载相应的zlib。

在执行bundle install的时候也碰到错误,最后说只支持sqlite3.6以上,只好手工下载sqlite3.7,然后安装。

在执行rake …

admin | Ruby |
ruby安装ruby-debug-ide

环境描述:ruby 1.9.2+Windows 7+Apatna

在apatna中调试ruby程序提示:

Unable to find ‘rdebug-ide’ binary script. May need to install ‘ruby-debug-ide’ gem, or may need to add your gem executable directory to your PATH (check location via ‘gem environment’).

好吧,在1.9.2中运行gem程序:

gem install ruby-debug-ide
Fetching: ruby-debug-ide-0.4.16.gem (100%)…

admin | Ruby |
Linux安装和配置Ruby on Rails

ruby on rails推荐的生产运行环境是Linux/FreeBSD/Unix,即Unix系列的操作系统,采用lighttpd+FCGI的解决方案。以下我将以Linux操作系统,lighttpd+FCGI,MySQL数据库为例,从源代码编译安装开始讲解。
在安装之前,应该确认Linux操作系统已经安装好gcc编译器,否则请用Linux安装光盘先行安装gcc编译器:
gcc –v
如能返回gcc版本号,则gcc正确安装。
下面分步骤详细讲解环境的安装和设置
安装 Ruby 解析器
一些Linux发行版本,MacOSX操作系统都自带Ruby解析器,但是我仍然建议自行下载ruby源代码编译安装。因为一方面可以自己定制ruby安装的路径,另一方面可以在编译过程中自行添加更多的特性。
ruby的源代码可以从Ruby官方网站下载:
http://www.ruby-lang.org/en/downloads/
下载源代码包到本地Linux主机,然后解压缩,进入该目录,进行配置,编译和安装:
tar xzvf ruby-1.8.5.tar.gz
cd ruby-1.8.5
./configure –prefix=/usr/local/ruby
make && make install
如果想浏览所有的configure参数,可以:
./configure –help |more
如果不定制安装的目录,默认将安装到/usr/local目录下面。然而我建议自行定制一个ruby的安装目录,例如/usr/local/ruby,这样便于以后的升级,不会和操作系统其他软件混在一起。
安装好以后,修改操作系统PATH路径,加入/usr/local/ruby/bin:
export PATH=/usr/local/ruby/bin:$PATH
将我们自己安装的ruby放在系统PATH前面,避免操作系统自带的ruby造成的干扰。在Linux上,一般将设置放在/etc/profile中,便于对全局生效。

 

安装 ruby on rails…

admin | Python,Ruby |
Python, Ruby与Groovy

随着计算机硬件的快速发展,10年前因为速度问题而被诟病的Java现在成了计算机流言语言中的老大,但是它却仍被认为复杂笨重,近几年来动态语言却有后来赶上的趋势,掌握一门动态语言成了程序员需要考虑的事宜。 近期接触了几种流行的动态语言Python, Ruby, Groovy,它们相比静态语言Java/C++来说,大为简单,灵活,省时,那么选择何种语言?
从TIOBE网站的语言排名可以看出,比较2000与2008年,Java 从30%跌到20%左右, C++从18%跌到11%, 静态语言从72%占有率降到了60%; 动态语言由27%升到40%,其中Python从1%到5%, Ruby由 < 1%到2.5%。PHP由5%长到11%。(以上数据为大约估算)

从企业界角度看,语言的流行性与以下几点有关:

1)  成熟的库(library)
Python的库非常多, Groovy可以调用强大的Java所有的库,ruby差些,但是正在赶上。

2) 流行框架
如果某种语言有个流行框架,那就能吸引过来很多使用者。Ruby on Rail是杀手级框架。Python 框架很多,但是目前尚没有特别突出的。Groovy还年轻,只有个Grails,但是可以利用JAVA已有的框架如SPRING HIBERNATE。

3) 流行程序
如果某个流行程序使用了某语言,那么这种语言不可必免会被多人使用。比如iPhone的出现使一种可能没多少人听说过的 Cocoa热了起来,因为人们用它编写在iPhone上运行的手机程序。这三种动态语言中Python在图象处理,或科学计算界已占有一席之地。Ruby可能落后一些,Groovy几乎没有。

4) 企业界的倾向
市场通常会倾向于简单好用省时省力,易于使用维护,稳定,能承受大负荷(scalable)的语言,这也是JAVA的流行性当时超过C++的原因,这三个语言比静态语言都简单,其中Python由于其语法和句法简单,所以可能是最好维护,而且能够承受高负荷(Youtube每天数亿点击为证);RUBY 有些魔幻语法也能使程序写得很简单,总体维护上比Python感觉差了一点,让其他人看程序可能不是非常直接易懂,性能上目前也差些。Groovy 模仿了大量RUBY,也借鉴了少量Python文法,由于在JVM上运行,性能上应该是不错的。

5)对硬件的利用
对着双核的出现,可以预料双核,四核,16, 32..核CPU都可能在未来出现。如果未来语言只能利用多核中的一核,那未免太浪费了,也可能因此而落于人后。从这一点上看GROOVY有天然优势,能借助JVM完成这一任务;PYTHON 正在积极研制新的方法实现,也可以在JVM或WINDOW环境下运行JPython 与IronPython;Ruby落后些,但是也有JRuby和IronRuby。

6)语法不一定起决定作用
语言中有好用的语法糖可以给程序员带来方便,但是并不一定对语言未来的流行起决定作用,因为好用的语法可能会被其它语言学去。想想C#学Java知道了。ruby借鉴了许多语言的优点,Groovy …

admin | Ruby |
ruby模块详解

模块是一种分组方法,类和常量的途径,主要带来两个好处:

1.

 

 

1,模块提供了一个命名空间(namespace )防止命名冲突。

2,通过模块能实现混合插入功能。

命名空间

当你写的Ruby程序越来越大,越来越多之后,都会发现有很多代码都可以重用,通常可以将相关例程组成一个通用库。你想将它们分布到不同的文件中,以便被其它Ruby程序共享。

通常,这些代码都以类的形式组织在一起,所以你可能将一个类或者和其相关的几个类放到一个文件中。

但是,有时候你也许需要把一些不能在常理上认为属于一个类的东西组合到一起。

最初的办法可能是将所有这些东西都放到一个文件中,然后在需要使用它的程序中引入这个文件。就像C语言那样。但是,这样做有一个问题,比如你编写了一系列的三角函数sin,cos等,你将它们放到一个文件中,比如trig.rb,同时,Sally也做着类似的工作,创建了自己的库文件action.rb,包括自己的一些例程,其中有beGood和sin方法。Joe想编写一个程序,需要同时用到trig.rb和action.rb两个文件,但是这两个文件都定义了一个方法sin,这可不是什么好消息。

答案是模块机制。模块定义了一个命名空间,在这个空间里,你的方法和常量可以不必担心和别人的重名,比如三角函数(trig)就可以放到一个模块中

module Trig

PI = 3.141592654

def Trig.sin(x)

# ..

end

def Trig.cos(x)

# ..

end

end

好的与不好的方法可以被放置在另一个中。

module Moral

VERY_BAD = 0

BAD = 1

def Moral.sin(badness)

# …

admin | Ruby |
windows配置Ruby on Rails和mysql驱动

注意: ruby 的资源都可以在  http://rubyforge.org/ 搜索到。

搜索方法:在主页右上角,选择”Software/Group”,输入”软件名称”,点击”Search”按钮。

1、安装Ruby,http://rubyforge.org/projects/rubyinstaller/ 找到”最新发布项目”,点击”下载”,进入下载列表页面。

该页面列出了Ruby当前的所有版本,写本文时最新版本是:1.8.6-25。版本发布日期:2007-03-18

2、下载”ruby186-25.exe”,大约22M。然后安装。One-Click Installer 一键安装,很适合新手。

3、学过Java的都知道,接下来需要配置ClassPath,在环境变量中新增环境变量名”RUBY_HOME”,变量值”D:\ruby”,该值以本机Ruby安装目录为准。然后在 path 加入”%BURY_HOME%\bin”。

4、测试Ruby是否安装成功

在命令行下运行 ruby -v 显示如下:

ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]

如果不放心,再运行 ruby -e ‘puts “hello world”‘ ,显示如下:

hello world

至此,Ruby的安装告一段落,接下安装 Rails。

5、安装Rails之前需要按顺序安装以下模块:

activesupport   http://rubyforge.org/projects/activesupport

activerecord      http://rubyforge.org/projects/activerecord

admin | PHP,Python,Ruby |
Perl、PHP、Python、Java和Ruby比较

预览

·           语言的发展趋势一定是动静结合、刚柔并济

·           Perl凝练晦涩,Python优雅明晰,Ruby精巧灵动,PHP简明单纯

·           或许优雅正是来自对细节和规范的重视

·           (RoR)与Ruby结合之后,便如一只猱身而上灵猫,立刻衬托出Java和.NET大象般的身影

 

 

 

提问

 

  • Perl、Python、Ruby和PHP各自有何特点?
  • 为什么动态语言多作为轻量级的解决方案?
  • LAMP为什么受欢迎?
  • Ruby on Rails为什么会流行?
  • 编程语言的发展趋势是什么?

 

讲解

“剩下四种动态语言,我们将之归为后台脚本语言。”冒号说着画了张图表——

 

用户

前台语言:Visual Basic,Delphi,JavaScript
平台语言:Java,C# 后台脚本语言:Perl,PHP,Python,Ruby
系统语言:C,C++,D

机器

 

引号听得仔细:“我记得您开始是把这些语言划分为C族静态语言、非C族静态语言和动态语言三类的。”

冒号解释:“那是按语法来划分的,偏重理论;现在是按应用来划分,偏重实践。”…