【激突】関数型言語 VS オブジェクト指向言語2at TECH【激突】関数型言語 VS オブジェクト指向言語2 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト258:デフォルトの名無しさん 12/04/13 08:54:17.09 整数と文字列が同じリストにフラットに入らなきゃ嫌だという主張? 259:デフォルトの名無しさん 12/04/13 09:05:31.58 struct filter_t{ int e; const char *t; }; struct fizzbuzz_t { int in; std::string out; fizzbuzz_t &operator >>( filter_t &f ) { if( 0==in%f.e ){ out.append( f.t ); } return *this; } operator const char *() { if( out.length() ) return out.c_str(); static char tmp[50]; itoa( in, tmp, 10 ); return tmp; } }; fizzbuzz_t operator >>( int i, filter_t &f ){ fizzbuzz_t fb; fb.in = i; fb>>f; return fb; } filter_t fizz = { 3, "Fizz", }; filter_t buzz = { 5, "Buzz", }; filter_t gizz = { 7, "Gizz", }; int main(){ 105>>fizz>buzz>>gizz>>endfb; return 0; } 260:デフォルトの名無しさん 12/04/13 09:05:55.65 fizz buzz gizz (とその合成)で完結する。 合成順が結果に反映される。 結果は標準出力ではなく関数の戻り値として欲しい。 というのが要件だろう。 関数縛りがなければマクロですぐなんだが。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch