问题标签 [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.
ruby - 在 ERB 模板中转义换行符/行尾
我需要能够在不影响模板最终文本输出的情况下格式化 ERB 中未打印的逻辑行。在这一点上,我认为 ERB 不支持这种转义。
这是我的第一个主要 Ruby 项目。我正在编写代码生成器。我的模板将包含大量条件和枚举。为了使模板具有可读性和可维护性,我需要能够格式化逻辑代码和注释,而不会扭曲最终输出。
例如,假设我想要这个输出:
我天真地写了这样的模板:
...但这会产生
直接打印:
...清楚地表明逻辑和注释行的行返回包含在 ERB 输出中。
我可以通过将模板塞进这种尴尬的形式来产生所需的输出:
...但我认为如果没有更具可读性的格式,我就无法调试和维护模板。我的一些条件和枚举的深度多达三个级别,我对此进行了大量评论。将所有内容塞进一两行会使模板完全不可读。
有没有办法逃避或以其他方式抑制 ERB 中注释行的逻辑行返回?其他常用的 Ruby 模板模块之一是否能更好地处理这个问题?
万一这很重要,我在 MacOS 10.6.7 上使用 MacRuby 0.10(实现 Ruby 1.9.2)。
ruby - Ruby:如何处理失败或无效的初始化
处理由于传递了无效的初始化参数而导致对象无法初始化的情况的 ruby 最佳实践是什么?
我意识到在 ruby 中,鸭子类型意味着我们不应该过度关注变量/参数的类型,而是关注它们的行为方式。但是,我在 MacRuby 中工作,它通过 Cocoa Objective-C API 桥接,一些 Cocoa 方法需要类型化参数。
例如,我有一个调用 Objective-C API 的 ruby 类,并且必须将 NSURL 类的对象传递给它。它看起来像这样:
...我会这样称呼它:
>
...效果很好。
但是,如果我滑倒:
...它因来自 Objective-C API 深处的错误而混乱地爆炸。
当然,我可以进行测试以防止错误参数到达桥接对象:
...但我仍然得到一个实时实例。我什至尝试从初始化返回 nil 但似乎 ruby 坚持总是返回一个活动实例。
我读过的所有内容都表明,在 ruby 中类型检查非常不受欢迎,但在 MacRuby 的情况下,我可能不得不破例。这是在 ruby 中很好地使用异常还是有更优雅的解决方案?我是红宝石的菜鸟,所以假设我从错误的角度处理问题。
ruby - Ruby 测试:测试方法的缺失
在 rspec 和类似的测试框架中,如何测试缺少方法?
我刚刚开始摆弄 rspec 和 bacon(rspec 的简化版本)。我想定义一个测试来确认一个类只允许对实例变量进行读取访问。所以我想要一个看起来像这样的类:
我很困惑:
我看不到提供的各种类型的测试如何测试访问器方法的缺失。我是红宝石和红宝石测试的菜鸟,所以我可能遗漏了一些简单的东西。
authorization - 使用 MacRuby 访问 Apple 授权服务
我正在开发一个需要对 /etc 目录中的配置文件进行更新的 MacRuby 应用程序。在应用程序的命令行版本中,这会提示输入密码,然后允许访问。
但是现在我正在将应用程序转换为 GUI 应用程序,但我不知道如何将授权服务集成到 Ruby 应用程序中。Apple 开发者网站上的示例使用 Obj-C 和 C。我使用 MacRuby 的很大一部分原因是因为 Ruby 中的文件访问非常简单。我宁愿不必将我的应用程序的那部分转换为 Obj-C/C。有没有人有一个很好的例子来说明如何将授权服务与 MacRuby 一起使用?
xcode - MacRuby HotCocoa $ macrake // 错误
即使我可以通过执行编译和运行一个简单的 hotcocoa 代码,它也不会 rake 自动生成的 hotcocoa 代码。我正在为 Lion 运行 Mac OS X Lion 和 XCode(不过,我什至没有将 XCode 用于 hotcocoa。)
有什么解决办法吗?
interface-builder - 视图中的动态刷新 - xcode 4 / interface builder
我是 xcode 的新手,所以请多多包涵。
我有一个设置为空白的标签,在用户单击“开始”后,我生成一个随机单词或数字并使用:
self.label.stringValue = "some_word"
更新视图。(我正在使用 MacRuby 顺便说一句)
但是,我想在显示最后一个单词之前快速连续显示 20 个左右的随机单词 - 只是因为现在太无聊了。(或者,我很乐意在其位置显示动画图形 - 由最终的随机单词替换。)
我试过这样的事情:
但它不起作用。我也尝试过 .reloadData 但也无济于事。
关于如何实现这一目标的任何想法?
ruby - Ruby:打破内联块
更新
忽略以下。结果证明这是一个仅限于 Macruby 0.10 的错误,并且可能特定于我的安装。我会留下帖子以防其他人遇到问题。
我似乎误解了关于红宝石块的一些东西。我想使用Pathname
orFind
模块find
在特定目录树中定位特定文件。但是,我无法让提供的块find
返回任何值。
从此:
...有效(并且是一种常见的结构)我希望:
... 或者:
... 只会产生一条寻求的路径,但根本不会产生任何价值。
我知道我的测试有效,因为以下两项:
...按预期工作。
为什么不像break
第find
一个例子那样工作?
更一般地说,我是否在这种情况下使用了正确的红宝石技术/习语?
ruby - 用于桌面应用程序的 Ruby gui
经过长时间的谷歌搜索,我想知道是否真的存在基于 Ruby 的维护 gui。
这是我检查的一个:
鞋子:我觉得我不能用它创造坚如磐石的平台
Cocoa 和 MacRuby:没有新鲜事,几乎没有教程
Qt4Ruby:同上
FxRuby 几乎没有更新
...
简而言之,我已经查看了这里提供的所有 gui,但我不相信......
所以:
我无法为 Cocoa 和 Qt 找到合适的文档吗?(我希望它是答案!)
是否有任何基于维护的 Ruby gui 的强大社区?(请再说一次!)
osx-snow-leopard - MacRuby 0.10 HotCocoa 不支持的文件格式不是被链接的架构(i386)
我已经安装了 MacRuby(通过 rvm):
和 LLVM(通过自制软件):
当我运行 rake 时,我收到一个错误:
我不想运行 xcode4,它允许您指定 x86_64 作为输出。
我该如何解决这个问题?看起来在链中的某个地方,正在指定 32 位。我尝试使用标志进行编译,并将 rake 运行为:
和
但这些都没有什么不同。我犯了同样的错误。
我在雪豹上 - 10.6.7。
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
?
谢谢!