Objective-C 基本講座

文字列を大文字にする

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
main関数の引数の説明と、ターミナルから引数を受け取る方法、ビット演算を使った文字の加工を紹介します。
講師:
06:18

字幕

このレッスンではビット演算を学習して下さい OS X のコマンドラインツールは キーボードからの キー入力で起動されるのが特徴です 入力待ち状態からキーが打ち込まれ return キーが打ち込まれるまでの文字列を 「コマンドライン」と呼び 半角スペースで単語ごとに分離された文字列が main 関数の引数として渡ってきます まず単語ごとに分離された文字列が メモリに記憶され 文字列ごとに先頭番地をポイントする ポインタの配列が用意されます そして その配列をポイントするのが main 関数の第二引数 argv です そして argv がポイントする配列の 要素数が入っているのが argc となります このことを元に引数で送られてくる コマンドラインの文字列を コンソールに出力してみましょう 但し ただ出力するのではなく 一文字一文字 大文字に変換しながら 出力してみます 今回のレッスンの本題は そのために行うビット演算です ビット演算は整数値に対して行うもので 数値の2進表現である 各ビットごとに ビットが1なら真 0なら偽として 論理演算を行います 例えば真義を逆転させる NOT 論理演算を ビット演算で行うとこうなります 記号は感嘆符ではなく 「チルダ」を使います すべてのビットが 反転します AND だと こうなります 記号は「&」1つです どちらも1の時だけ 1になります OR だとこうなります どちらかが1なら1になります 記号は「|」1つです 最後の XOR は お互いが同じ値なら0になり 別の値 つまり片方が1なら もう片方は0というような時に 1になります 記号は「^」を使います 以上がビット演算子です そして ASCII コードの大文字と小文字は 下から5ビット目が0か1かの違いなので 例えば大文字を小文字にするなら 大文字側の文字コードを 5ビット目だけが1の数値と OR 合成すれば 小文字の文字コードにできる ということになります その逆は小文字側の文字コードを 5ビット目だけが0の数値と AND 合成すれば 良いことになります また 今回はビット演算だけ使いますが ビット関係にはほかに シフト演算子というものもあります 「左シフト」は右辺に指定された数だけ 左にビットをずらします 記号は「<」を2回繰り返しです 「右シフト」は その逆方向に ビットをずらします 記号は「>」を2回繰り返しです どちらも代入演算子があります 右辺が1なので 1ビットずれました もし右辺が2なら ここから更に2ビットずれます 以上がシフト演算子です それでは実際にビット演算で 文字を大文字に変えてみましょう Xcode の画面に切り替えます main 関数からわたってきた文字列を ポイントする argv を 1つ1つ今回のビット演算子を行う capitalize 関数に渡しています 関数では受け取った char 型ポインタを使い 1文字ずつビット演算で 大文字にしています ランすると大文字になった 長い文字列が表示されます 今回作ったコマンドラインツール caps のファイル位置を示す文字列を 大文字にしたものです argv の数字 0がポイントするのは 実行中のアプリのファイル位置を示す 文字列と決まっています 本来なら / がいくつか入るのですが / といった記号には 大文字小文字はなく ビット演算で表示不可能な文字に なっているのでこうなります 本当なら そこまで配慮すべきですが ここではやっていません 最後に実際にターミナルで 今回作ったコマンドラインツール caps を 動かしてみましょう ターミナルは 「その他」に入っています 起動したら ウィンドウが開くので >cd(space) と打ち込んで Products に入っている caps のアイコンをドロップします 後ろの caps を消して return を押します あとは ./caps と打ち込み return で起動します さっき打ち込んだ cd は ./ の示すフォルダを決めるコマンドです ターミナルを終了するまでは有効ですから いろいろな英数字を試してみて下さい ./caps その後に半角スペースを入れて 英数字を書き return です このレッスンではビット演算を学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。