分类: Ruby笔记

使用OCRA将Ruby程序打包为EXE

OCRA(OneClick Ruby Application Builder)是一个将.rb文件打包为可执行文件的gem,生成的EXE可脱离Ruby环境运行。其原理是将Ruby程序运行所需的解释器、gems等全部打包“带走”。
首先按常规方法安装OCRA:

gem install ocra

 

常用参数:

--windows 不显示控制台(rubyw.exe)
--console 显示控制台 (默认,ruby.exe)
--dll dllname 包含Ruby的bin目录中指定的DLL
--no-lzma 打包时禁用LZMA压缩
--quiet 不显示打包进度
--help 查看ocra帮助
--no-autoload 不包含脚本中autoload的项目
--icon 用自定义的ico替换掉默认的红宝石图标

 

命令行下切换到文件所在目录,运行:

ocra --console name.rb

 

耐心等待一段时间后EXE文件就生成了。

更多

FizzBuzz问题

“FizzBuzz”是英国学校里常玩的一个游戏:从1数到100,但数到3的倍数时要说”Fizz”,5的倍数”Buzz”,既是3的倍数又是5的倍数说”FizzBuzz”。

现在用Ruby写一个程序打印1到100这些数字。但是遇到数字为3的倍数的时候,打印“Fizz”替代数字,5的倍数用“Buzz”代替,既是3的倍数又是5的倍数打印“FizzBuzz”。
通常会采用求余的办法解决,并不困难。

for i in 1..100
	if i%3 == 0 and 1%5 == 0
		print "FizzBuzz\n"
	elsif i%3 == 0
		print "Fizz\n"
	elsif i%5 == 0
		print "Buzz\n"
	else
		print "#{i}\n"
	end
end
更多