Haskell始めました
Haskellは前に少しだけ触ったことがあるのですが、ちゃんと使ってみようという気になりもう一度勉強を始めました。
とりあえず有名処理系のGHCをダウンロードしようとしたところ、ダウンロードページにHaskell Platformでライブラリと一緒に入れたほうがいいよ!と書いてあったのでそちらをインストール。
まずは階乗の計算から。
--fact.hs fact 0 = 1 fact n = n * fact (n - 1) main = print (fact 5)
プログラムはmain関数から始まります。関数factの定義が何の予告もなしに二行になっているのが数学っぽいですね。また、コメントには「--」から行末がコメントになる形式と、「{-」と「-}」で囲む形式があります。
$ ghc fact.hs -o fact $ ./fact 120
と出力されます。インタプリタはghciにありますが、関数定義にletが必要だったり面倒なので、デバッグとかに使ったほうがよさそうです。
QtのPhononモジュールで動画再生
QtにはPhononというクロスプラットフォームなマルチメディアAPIが付属しています。PhononはもともとKDE向けに開発された、DirectX・QuickTime・GStreamerなどのバックエンドを抽象化するAPIで、音声や動画の再生を簡単に行うことが出来ます。
今回は早速、動画の再生をしてみました。
#include <QApplication> #include <Phonon/VideoPlayer> int main(int argc, char* argv[]) { QApplication app(argc, argv); Phonon::VideoPlayer player(Phonon::VideoCategory); player.play(QString("./smile.flv")); player.show(); return app.exec(); }
QtWebKitがすごすぎる
最近Qtを使い始めたのですが、QtにはQtWebKitというWebKitベースのブラウザエンジンが付いています。
せっかくなので遊んでみよう、と思ったらあまりに簡単で驚いたので紹介です。
#include <QApplication> #include <QtWebKit> int main(int argc, char* argv[]) { QApplication app(argc, argv); QWebView view; view.load(QUrl("http://www.google.com/")); view.show(); return app.exec(); }