書き直すにはどうすればよいですか:
NSUInteger options = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay;
RubymotionのためにRubyに?
ありがとう :)
書き直すにはどうすればよいですか:
NSUInteger options = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay;
RubymotionのためにRubyに?
ありがとう :)
ほぼ同じ方法です。K
唯一の違いは、Rubyでは定数を大文字で始める必要があるため、代わりに大文字を使用する必要があることです。
options = KCFCalendarUnitYear | KCFCalendarUnitMonth | KCFCalendarUnitDay
# returns 28, same as in Objective-C.
ディラン・マルコウの答えは正しいです。プログラムで値の配列からビットマスクを作成したい場合があり、ビット単位または演算子を直接使用する余裕がない場合もあります。
例えば:
options = []
options << KCFCalendarUnitYear
options << KCFCalendarUnitMonth
options << KCFCalendarUnitDay
ここでのちょっとしたコツは、次のようにinjectを使用することです。
options.inject(:|)
猿の顔のように見えるという追加の利点があります。