【发布时间】:2012-05-08 04:36:34
【问题描述】:
Ruby 新手,刚刚安装并安装了 RubyMotion,创建了我的第一个程序,但我无法让 Time(示例)应用程序正常工作。
每当我尝试使用 sprint 或其他形式(抱歉不知道名称)来格式化字符串时,我都会返回我的格式字符串。
即(当我的应用在模拟器中运行时从控制台)
Build ./build/iPhoneSimulator-5.1-Development
Simulate ./build/iPhoneSimulator-5.1-Development/Timer.app
(main)>> @time = 0.1
=> 0.0999999940395355
(main)>> string = sprintf("%.1f", @time)
=> "%.1f"
(main)>> string
=> "%.1f"
(main)>> "%.1f" % @time
=> "%.1f"
(main)>>
在模拟器中实际应用的结果相同。
我的 Mac 上确实安装了默认 ruby,但如果我尝试运行测试 ruby 文件(打印“%05d”% 123),我会得到预期的结果。
/usr/bin/ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
/Library/RubyMotion/bin/ruby -v
MacRuby 0.12 (ruby 1.9.2) [universal-darwin11.0, i386]
在 Lion 10.7.3 上运行,感谢任何建议或想法。
谢谢。
【问题讨论】:
-
这似乎是 RubyMotion 的一个错误;并且
NSString.stringWithFormat方法也无法正常运行(NSString.stringWithFormat("%0.1f", 0.1)返回"0.0")。我正在提交支持票。 -
另外,我认为这是 RubyMotion 1.1 或 1.2 的回归;当我在 1.0 上运行 Locations 示例应用程序时,它显示的坐标很好,但现在运行它只会在屏幕上打印“%0.3f,%0.3f”。还有一个issue opened on Github
-
已修复。
sudo motion update获取更新。
标签: ruby rubymotion