Objective c 如何将Objective C选项位掩码重写为Ruby for RubyMotion?

Objective c 如何将Objective C选项位掩码重写为Ruby for RubyMotion?,objective-c,rubymotion,Objective C,Rubymotion,如何重写: NSUInteger options = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay; 为了RubyMoon去Ruby 谢谢:几乎完全一样。唯一的区别是,由于Ruby要求常量以大写字母开头,因此必须使用大写K: 几乎完全一样。唯一的区别是,由于Ruby要求常量以大写字母开头,因此必须使用大写K: 迪伦·马科的回答是正确的。有时,您可能还希望通过编程方式从值数组创建位掩码,而无法直接使用按位or运算符

如何重写:

NSUInteger options = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay;
为了RubyMoon去Ruby


谢谢:

几乎完全一样。唯一的区别是,由于Ruby要求常量以大写字母开头,因此必须使用大写K:


几乎完全一样。唯一的区别是,由于Ruby要求常量以大写字母开头,因此必须使用大写K:


迪伦·马科的回答是正确的。有时,您可能还希望通过编程方式从值数组创建位掩码,而无法直接使用按位or运算符

例如:

options = []
options << KCFCalendarUnitYear
options << KCFCalendarUnitMonth
options << KCFCalendarUnitDay

它还有一个额外的优点,就是看起来像猴子的脸。

迪伦·马科的答案是正确的。有时,您可能还希望通过编程方式从值数组创建位掩码,而无法直接使用按位or运算符

例如:

options = []
options << KCFCalendarUnitYear
options << KCFCalendarUnitMonth
options << KCFCalendarUnitDay
它还有一个额外的优点,就是看起来像猴子的脸

options.inject(:|)