问题标签 [macruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3746 浏览

ruby - 在 ERB 模板中转义换行符/行尾

我需要能够在不影响模板最终文本输出的情况下格式化 ERB 中未打印的逻辑行。在这一点上,我认为 ERB 不支持这种转义。

这是我的第一个主要 Ruby 项目。我正在编写代码生成器。我的模板将包含大量条件和枚举。为了使模板具有可读性和可维护性,我需要能够格式化逻辑代码和注释,而不会扭曲最终输出。

例如,假设我想要这个输出:

我天真地写了这样的模板:

...但这会产生

直接打印:

...清楚地表明逻辑和注释行的行返回包含在 ERB 输出中。

我可以通过将模板塞进这种尴尬的形式来产生所需的输出:

...但我认为如果没有更具可读性的格式,我就无法调试和维护模板。我的一些条件和枚举的深度多达三个级别,我对此进行了大量评论。将所有内容塞进一两行会使模板完全不可读。

有没有办法逃避或以其他方式抑制 ERB 中注释行的逻辑行返回?其他常用的 Ruby 模板模块之一是否能更好地处理这个问题?

万一这很重要,我在 MacOS 10.6.7 上使用 MacRuby 0.10(实现 Ruby 1.9.2)。

0 投票
1 回答
4053 浏览

ruby - Ruby:如何处理失败或无效的初始化

处理由于传递了无效的初始化参数而导致对象无法初始化的情况的 ruby​​ 最佳实践是什么?

我意识到在 ruby​​ 中,鸭子类型意味着我们不应该过度关注变量/参数的类型,而是关注它们的行为方式。但是,我在 MacRuby 中工作,它通过 Cocoa Objective-C API 桥接,一些 Cocoa 方法需要类型化参数。

例如,我有一个调用 Objective-C API 的 ruby​​ 类,并且必须将 NSURL 类的对象传递给它。它看起来像这样:

...我会这样称呼它:

>

...效果很好。

但是,如果我滑倒:

...它因来自 Objective-C API 深处的错误而混乱地爆炸。

当然,我可以进行测试以防止错误参数到达桥接对象:

...但我仍然得到一个实时实例。我什至尝试从初始化返回 nil 但似乎 ruby​​ 坚持总是返回一个活动实例。

我读过的所有内容都表明,在 ruby​​ 中类型检查非常不受欢迎,但在 MacRuby 的情况下,我可能不得不破例。这是在 ruby​​ 中很好地使用异常还是有更优雅的解决方案?我是红宝石的菜鸟,所以假设我从错误的角度处理问题。

0 投票
2 回答
217 浏览

ruby - Ruby 测试:测试方法的缺失

在 rspec 和类似的测试框架中,如何测试缺少方法?

我刚刚开始摆弄 rspec 和 bacon(rspec 的简化版本)。我想定义一个测试来确认一个类只允许对实例变量进行读取访问。所以我想要一个看起来像这样的类:

我很困惑:

我看不到提供的各种类型的测试如何测试访问器方法的缺失。我是红宝石和红宝石测试的菜鸟,所以我可能遗漏了一些简单的东西。

0 投票
1 回答
140 浏览

authorization - 使用 MacRuby 访问 Apple 授权服务

我正在开发一个需要对 /etc 目录中的配置文件进行更新的 MacRuby 应用程序。在应用程序的命令行版本中,这会提示输入密码,然后允许访问。

但是现在我正在将应用程序转换为 GUI 应用程序,但我不知道如何将授权服务集成到 Ruby 应用程序中。Apple 开发者网站上的示例使用 Obj-C 和 C。我使用 MacRuby 的很大一部分原因是因为 Ruby 中的文件访问非常简单。我宁愿不必将我的应用程序的那部分转换为 Obj-C/C。有没有人有一个很好的例子来说明如何将授权服务与 MacRuby 一起使用?

0 投票
1 回答
468 浏览

xcode - MacRuby HotCocoa $ macrake // 错误

即使我可以通过执行编译和运行一个简单的 hotcocoa 代码,它也不会 rake 自动生成的 hotcocoa 代码。我正在为 Lion 运行 Mac OS X Lion 和 XCode(不过,我什至没有将 XCode 用于 hotcocoa。)

有什么解决办法吗?

0 投票
1 回答
688 浏览

interface-builder - 视图中的动态刷新 - xcode 4 / interface builder

我是 xcode 的新手,所以请多多包涵。

我有一个设置为空白的标签,在用户单击“开始”后,我生成一个随机单词或数字并使用:

self.label.stringValue = "some_word"

更新视图。(我正在使用 MacRuby 顺便说一句)

但是,我想在显示最后一个单词之前快速连续显示 20 个左右的随机单词 - 只是因为现在太无聊了。(或者,我很乐意在其位置显示动画图形 - 由最终的随机单词替换。)

我试过这样的事情:

但它不起作用。我也尝试过 .reloadData 但也无济于事。

关于如何实现这一目标的任何想法?

0 投票
2 回答
989 浏览

ruby - Ruby:打破内联块

更新

忽略以下。结果证明这是一个仅限于 Macruby 0.10 的错误,并且可能特定于我的安装。我会留下帖子以防其他人遇到问题。


我似乎误解了关于红宝石块的一些东西。我想使用PathnameorFind模块find在特定目录树中定位特定文件。但是,我无法让提供的块find返回任何值。

从此:

...有效(并且是一种常见的结构)我希望:

... 或者:

... 只会产生一条寻求的路径,但根本不会产生任何价值。

我知道我的测试有效,因为以下两项:

...按预期工作。

为什么不像breakfind一个例子那样工作?

更一般地说,我是否在这种情况下使用了正确的红宝石技术/习语?

0 投票
2 回答
1929 浏览

ruby - 用于桌面应用程序的 Ruby gui

经过长时间的谷歌搜索,我想知道是否真的存在基于 Ruby 的维护 gui。

这是我检查的一个:

  • 鞋子:我觉得我不能用它创造坚如磐石的平台

  • Cocoa 和 MacRuby:没有新鲜事,几乎没有教程

  • Qt4Ruby:同上

  • FxRuby 几乎没有更新

  • ...

简而言之,我已经查看了这里提供的所有 gui,但我不相信......

所以:

  • 我无法为 Cocoa 和 Qt 找到合适的文档吗?(我希望它是答案!)

  • 是否有任何基于维护的 Ruby gui 的强大社区?(请再说一次!)

0 投票
1 回答
507 浏览

osx-snow-leopard - MacRuby 0.10 HotCocoa 不支持的文件格式不是被链接的架构(i386)

我已经安装了 MacRuby(通过 rvm):

和 LLVM(通过自制软件):

当我运行 rake 时,我收到一个错误:

不想运行 xcode4,它允许您指定 x86_64 作为输出。

我该如何解决这个问题?看起来在链中的某个地方,正在指定 32 位。我尝试使用标志进行编译,并将 rake 运行为:

但这些都没有什么不同。我犯了同样的错误。

我在雪豹上 - 10.6.7。

0 投票
1 回答
2198 浏览

objective-c - 如何在 XCode 中包含一个 .jar 文件作为资源,由 NSTask 执行?

我目前正在使用 MacRuby 和 XCode 为 CraftBukkit 编写 Mac 原生界面。

现在,我正在使用 NSTask 和 NSPipe 来运行 Minecraft 的 Java 服务器:

但是,我不能添加bukkit.jar为资源!它只是不会建立。我可以轻松地包含图像,并且NSBundle可以正常工作。

#{NSBundle.mainBundle.pathForResource 'bukkit', :ofType => 'jar'}不返回任何内容(因为文件不包含)。

如何包含bukkit.jar作为要内置的资源sample.app/Contents/Resources

谢谢!