admin   NewEntry

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

フラグ管理

9割自分用メモ

C++のお話なんだけど,たくさんフラグ作りすぎて変数宣言が長ったらしくなった僕のコードを見て
友人がenumを使った管理のテクニックを教えてくれた.


#include いろいろ

namespace FLAG
{
  enum{
    FOOD,
    FURO,
    MAX
  };
}

bool OJIICHAN[FLAG::MAX];

/*
  なんやかんや
*/

if( OJIICHAN[FLAG::FOOD] )
{
  printf( "おじいちゃんさっきご飯食べたでしょ\n" );
}
if( OJIICHAN[FLAG::FURO] )
{
  printf( "おじいちゃんさっきお風呂入ったでしょ\n" );
}


・・・みたいに使える.
新しいフラグを作るときはenumのMAXの前に追加するだけでおk.

namespace作ってenumのタグを無名にするとかっていうのは宗教(コーディング規約?)だから
人によるらしいとも教えてくれた.
もしかしたらこういうenumの使い方自体が宗教なのかもしれないけど,
あんまりそういう論争に興味がないから好きなのを使うぜ(´∀`
スポンサーサイト

mac book airかったった

うっひょーかっちゃったぜー
そして何故かインストールするMicrosoft office.
パワポ使えるようになったよー


開発環境としてxcodeを入れてみたんだけどやっぱああいうでっかい開発環境(統合開発環境)は
日本語がいいね・・・
プログラムのファイル作成するとわけわからんファイルがたくさん生成されるのにすごく嫌悪感を感じるうえに
説明が全部英語で心が折れた。・・・ちょっと早い方かもしれん。

ってなわけでeclipseを入れてみました。これfedora linuxのほうだと
コーディング中に補完とかの吹き出しが出ると、テキストエディタ部分が非アクティブになって
キーボード効かなくなるのが意味不明すぎて使わなかったんだけども・・・

で、eclipseの日本語化しようと思ってpleiades入れたら
Error occurred during initialization of VM
agent library failed to init: instrument
ってエラーが出て・・・
ちょっと調べたら.iniに書き込むときに
Eclipse.app/Contents/MacOS/eclipse.ini から見た相対パスを書かないといけないみたいです。なるほどね。
参考

無事起動するようになりました。よかったよかった。

今更ながらCygWin入れた

学校ではFedora Linux使ってemacsやKateなんかで好き勝手にプログラミングしてたんですが,
家でプログラミングするときはVisualStudioを使ってます.

でも,ちょっとしたテストプログラムを書きたいときなんかだとこういった統合開発環境は
身動きが取りづらくってどうしようかなあと悩んでいたら,
CygWin入れたらいいよということを教えてもらったので早速インストールしてみました.

CygWin入れたらコマンドプロンプト上でlsコマンドやらcdコマンドといったコマンドや
gccが使えるらしいのです.
なんで今まで知らなかったんだお/(^o^)\

CygWin インストール とかでググッたら参考サイト結構出てくるので参考にしつつ
DevelopとPerlとGnuplotとX11をインストール.
ダウンロード時間かかりすぎや・・・欲張り過ぎた.

で,インストール終わったらCygWin\bin\に環境変数でパス通してコマンドプロンプトで使えるようになりました
めでたしめでたし・・・

というわけにはいかなくて,
$ gcc
アクセスが拒否されました.
という事態に.

これも調べたらすぐ出てきたんで助かったっちゃあ助かったんですが,
CygWin\bin\の中にあるgcc.exeがどうやらシンボリックリンク(Windowsでいうショートカットみたいなイメージでいいのかな)らしくて
このシンボリックリンクの先にあるgcc-4.exe(gcc-3.exe)までアクセスできてないらしいのです.
なんでや・・・
(CygWin.bat上ではできますよ)

コマンドプロンプト上で
$ bash
って打ってそこから実行しても良いのだけど,
bash走らせるとルートディレクトリがCygWinのインストールディレクトリになってしまって,
それより上の階層に上がれないという問題点が・・・
解決策あるのかもしれないけど調べてないです^p^;

シンボリックリンクから先に行けないなら,本体を直接おいておけばいいじゃない
ということで,gcc.exeをどっか退避させて,gcc-4.exeをgcc.exeにリネーム,
g++.exeもどっか退避させて,g++-4.exeをg++.exeにリネームしてしまいました.
これで問題なく動くようです.

やっぱ
$ gcc hoge.c
って動いてくれたほうが気持ちいいもんね.

rubyの文字コード

ファイルにデータを出力して保存 -> ファイルから読み込み

という流れのときに、ファイルの文字コードが違ってて文字化けして困ってました。
特にコマンドプロンプトだとUTF-8がしっかり表示されないので更に困ってたんですが、
解決法が見つかりましたー


require 'nkf'

hoge = "鎮魂歌 散り逝く者の 風の唄 しのぶれど 築きしかばね 修羅のみち 月みしたびに 涙ながるる 人の世に 生まれし頃より 戦道 この手に掴むは 龍の球"
val = 777

print NKF.nkf("-s",hoge)
print NKF.nkf("-s","#{val.to_s}")

って書くとhogeも#{val.to_s}もSHIFT-JISで表示してくれるみたい。

http://www.ruby-lang.org/ja/man/html/nkf.html


最初は
http://www.ruby-lang.org/ja/man/html/Kconv.html の通り、
Kconv.tosjis(str)でやろうとしてたんですが、「Kconvなんてねーよ」って怒られて使えなかったのです・・・
(require 'nkf'じゃないのかなあ)
プロフィール

へろへろ

Author:へろへろ
毎日毎日だらだらだらだら・・・
ダメ人間まっしぐら。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。