C++なら。Boost使って変態コード(笑)。
#include <boost/lambda/lambda.hpp> #include <boost/function.hpp> #include <iostream> int main(int, char* []) { boost::function<void(int)> f[] = { (std::cout << boost::lambda::_1 << '\n'), (std::cout << boost::lambda::constant("Fizz\n")), (std::cout << boost::lambda::constant("Buzz\n")), (std::cout << boost::lambda::constant("FizzBuzz\n")) }; for(int i = 1; i <= 100; ++i) { f[(i % 5 == 0 ? 2 : 0) + (i % 3 == 0 ? 1 : 0)](i); } return 0; }