将Ruby程序更改为简单的桌面Mac应用程序

将Ruby程序更改为简单的桌面Mac应用程序,ruby,xcode,macruby,Ruby,Xcode,Macruby,我有一个程序,可以读取文件中的数据,更改某些元素,并创建一个新文件。代码如下所示: lines = IO.readlines('single_before_CAP.txt').map do |line| a = line.split.each { |i| i.capitalize! } a2 = a.join(" ") File.open('single_after_CAP.txt', 'w') do |file| file.puts lines end 如何使用Xcode和MacRuby

我有一个程序,可以读取文件中的数据,更改某些元素,并创建一个新文件。代码如下所示:

lines = IO.readlines('single_before_CAP.txt').map do |line|
a = line.split.each { |i| i.capitalize! }
a2 = a.join(" ")
File.open('single_after_CAP.txt', 'w') do |file|
  file.puts lines
end
如何使用Xcode和MacRuby使该程序作为GUI应用程序运行?如果不是Xcode和MacRuby,我还可以做另一个简单的任务使它成为一个独立的GUI应用程序吗?

一个很好的方法:

示例应用程序:


如果您只想运行无头ruby应用程序,可以使用Automator。只需创建一个新的工作流,添加一行来执行应用程序,并将其保存为“.app”。如果你愿意,我可以给你更具体的指示

@jmitchell1009

具体说明:如果您不需要向程序输入任何内容(如文件或参数),最简单的方法是:

  • 开放式自动机
  • 选择新建“应用程序”(这将把您的最终输出保存为.app,如果您需要其他内容,可以选择其他选项)
  • 选择“运行Shell脚本”操作,并将其拖动到工作流中
  • 选择一个shell来运行它(如果您只是运行一个ruby应用程序,这应该不会太重要)
  • 选择输入应该放在哪里(同样,如果您没有输入,它应该很重要)
  • 输入ruby应用程序的命令。类似于“ruby commandpath”等(当然没有引号)
  • 您可能需要运行它几次,以确保它正常工作。完成后,您可以保存工作流,它将为您创建一个.app

  • 如果您有任何问题,请告诉我。

    听起来您想要的基本上是一个简单的包装器应用程序,在双击时运行您的脚本,而不是一个完整的GUI。这是最简单的方法。你只需给它你的脚本,设置几个参数(例如,你的脚本是否需要一个文件作为参数),它就会给你一个可双击的应用程序,可以选择包括一个简单的界面,如进度条或文本输出。

    创建macruby应用程序有很多步骤。我在我的答案中加入了他们的链接。这看起来有用吗?谢谢。看起来好像有人删除了我说我已经看过可用教程的部分。我能够通过他们,但我不需要计时器或应用程序,告诉我如何说“按钮点击!”,等等。我想它可以像我想的那样简单。我只想让程序“运行”,而不需要他们去命令行告诉它运行。啊。。。人们可能很难有动力为这些教程编写另一个(可能很长)版本,只针对您的问题。您可能希望开始使用教程中描述的过程,等待教程中的某个步骤出现特定问题,然后再提出更具体的问题。请回答“是”。我会自己调查的,但是任何有助于让它更容易理解的步骤都会有帮助。好的。我已经这样做了,并且在我的代码中得到了一个错误。它不会读取array_2.gsub(/Ws/,“,west-side”).gsub(/Es/,”,east-side),引用第2个“.gsub”作为有问题的行,错误为“sytax错误,意外”。“,期待肯德。我也使用Platypus实现了这一点,但是可以从命令行运行,没有问题。它不认识我当前版本的Ruby吗?从命令行使用1.9.3。如果这些信息有用的话,我的计算机上也有一个旧版本。@jmitchell1009 shell脚本实际上只是在命令行上运行它。您使用的是与OS X打包的ruby版本,还是安装了其他版本?您可以运行
    whichruby
    来查看您正在从命令行调用哪个版本。让我详细说明一下。首先,我编写了一个.rb文件,打开一个txt文件,读取每行的数据,根据代码更改数据,并保存一个新文件。当我在命令行中运行“ruby filename.rb”时,代码运行,我有一个新文件。一切正常。当我使用步骤1构建应用程序时,我添加了“runshell脚本”(我使用bin/bash并将输入传递给stdin)。我输入了“ruby/Users/jmitchell/Desktop/filename.rb”。当我尝试运行时,我收到一个通知,说我需要添加“获取指定的查找项”,我做到了。我单击了run,发现上面列出的sytax错误。@jmitchell1009它可能与运行它的路径有关。这是我从你说的话中能想到的唯一一件事,你能分享代码吗?我试过Platypus,但是它不会读取我所有的Ruby代码,当我从命令行运行时,在不存在错误的地方给我错误。仅供参考-上面的代码不是我真正需要的,而是一个基本概念。实际代码有数百行。