我正在学习编写Ruby代码,开始学习开源代码。如何将我在github上看到的开源代码转换为可运行的应用程序?例如,如何将源代码从Pomodori's Github转换为this page的可下载应用?我有兴趣能够操纵源代码,然后将其转换为可运行的应用程序以查看更改。任何提示都表示赞赏!
答案 0 :(得分:1)
你可以看到番茄钟唯一的依赖(在它的Gemfile中列出),是 hotcococa 宝石:
# A sample Gemfile
source "http://rubygems.org"
gem "hotcocoa"
以下是使用hotcocoa构建简单GUI应用程序的教程。正如我的同事们所指出的那样,Hotcocoa是建立在Macruby上的。
我认为直接与Macruby本身一起,是一个更好的选择。有很多教程,它是相对最新的。您可以使用macruby构建一个简单的stopwatch应用(完整安装说明为here)。
就个人而言,如果我再次学习红宝石,我会先从David Black的The Well Grounded Rubyist开始,或者如果您正在寻找免费资源,请查看bastards book或代码学院的红宝石课程。
更新:我一夜之间发现你可能不熟悉Ruby的REPL(读取评估打印循环)cli工具IRB,打开终端输入:
$ irb
这会加载一个交互式ruby会话,您可以阅读有关irb on Ruby's official site。
的更多信息答案 1 :(得分:0)
一般来说,Ruby不是编译的,比如C,C ++等 - 它直接从源代码执行。
其他语言的编译基本上适用于1)将尽可能多的应用程序转换为机器代码,因此在运行时更快,2)从最终结果中删除源代码。有一些方法可以在某种程度上在Ruby中完成这两件事,但它们高度依赖于特定的Ruby实现(例如MRI,JRuby,MacRuby)以及应用程序将运行的操作系统。
正如Wukerplank所说,Pomodori是用MacRuby编写的,MacRuby是一个特定于Mac的实现,它有一个名为macruby-deploy的工具,可以制作实际的OS X应用程序。不幸的是,我最后一次检查(2014年初),MacRuby在OS X 10.9上无法正常运行;当其主要作者(Laurent Sansonetti)创造商业产品RubyMotion时,其发展大多停滞在10.7 / 10.8时代。如果您不介意每年的订阅费用,RubyMotion可能是您想要调查的内容;它还针对iOS及其应用程序可以进入App Store;然而,它确实牺牲了Ruby的一些活力。
但是,一般来说,人们通过调用Ruby解释器来运行Ruby程序(例如ruby program.rb
)。如今,Ruby解释器会进行一些即时编译以加快执行速度,但源代码仍然可供代码用户看到。