objective-c - 从 Ruby on Rails 执行 Objective-C

标签 objective-c ruby-on-rails ruby

我想在我的 Rails 应用程序中执行以下 Objective-C 代码:

CFMutableStringRef inputString = CFStringCreateMutableCopy(kCFAllocatorDefault, 32,     CFSTR("общей"));
CFLocaleRef locale = CFLocaleCreate(kCFAllocatorDefault, CFSTR("ru"));

CFStringTransform(inputString, NULL, kCFStringTransformStripDiacritics, false);
CFStringLowercase(inputString, locale);


NSLog(@"%@", (NSString *)inputString);

CFRelease(locale);
CFRelease(inputString);

它基本上输出输入字符串的小写、无变音符号版本。我在 Snow Leopard 服务器上运行。

我该怎么做(不使用 MacRuby,这在这里似乎有点矫枉过正)?我听说过 Ruby 扩展,但在我的案例中找不到任何资源。

最佳答案

你或许可以使用 ffi 来做到这一点,但它需要输入一堆功能规范。调用 Core Foundation 函数的小测试用例:

require 'ffi'

module CF
  extend FFI::Library
  ffi_lib '/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation'
  attach_function :CFAbsoluteTimeGetCurrent, [], :double
end

puts CF.CFAbsoluteTimeGetCurrent

关于objective-c - 从 Ruby on Rails 执行 Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8161185/

相关文章:

iphone - xcode,如何添加根据我在相机胶卷中选择的内容更改图像的 ImageView ?

ruby-on-rails - ActiveRecord 使用连接来提高性能,但将所有关联的记录加载到内存中,就像包含一样

ruby-on-rails - 带有ajax的rails fields_for

ruby-on-rails - Ruby on Rails。自定义验证器方法中的自定义消息

ruby-on-rails - 卸载并重新安装 Ruby 和 Rails 后,为什么找不到它?

ruby - WEBrick:记录 POST 数据

ios - @selector 的多个参数

按钮上带有 PNG 的 iOS 抗锯齿

objective-c - 当我更改 UIView 时,我的 NavigationBar 没有

ruby-on-rails - 您如何指示 Sprockets 在 Heroku 上包含来自/vendors/assets/components 的文件?