サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
keichi.net
wvogel00のために、昔書いたParsecを使ったコードを載せてみます。コメントに書いてあるのはコードに直す前のEBNFです。 import Text.ParserCombinators.Parsec run :: Show a => Parser a -> String -> IO () run p input = case (parse p "" input) of Left err -> do putStr "parse error at " print err Right x -> print x --expr = factor ('+' factor | '-' factor)* expr :: Parser Float expr = do l <- factor rs <- many ((do char '+' n <- factor return $ (+) n ) <|
先日の日記の続きです。 FUNCTIONAL PEARLS Monadic Parsing in Haskell を参照して、(というかほぼHaskell->F#の写経)モナディックなパーサコンビネータをF#で書いてみました。速度・機能などはまったく実用に耐えませんが、移植の過程でかなりパーサコンビネータに対する理解が深まりました。上のpdfはとてもわかりやすく解説されており(学生のために書かれた文書のようです)、パーサコンビネータを実装した事のない人、僕のようにパーサコンビネータ自体知らない人には最適な入門となると思います。 ところでパーサコンビネータができたのは良いのですが、いざこれを使おうとすると、文法定義はまだ良いもののセマンティックアクションを実装しようとするとラムダ抽象のネストになってしまいます… Computation Expressionなどを使ってインターフェー
HaskellでDBを操作するならHDBCを使うのが定石だとは思うんですが、やりたいことが簡単でかつSQLiteで十分だったので、Database.SQLiteを使ってみました。 使い方 SQL文を発行する 最初にsqlite3本体と、cabalでsqliteパッケージをインストールする必要があります。 使い方は簡単で、openConnectionで接続で開き、execStatementでSQL文を発行して、結果を取得します。execStatementの返値は多相で、Either String [[Row String]] 、Either String [[Row Value]]、Either String [[Row Value]]のいずれかを選べます。 Either String [[Row String]] ならLeftがエラーで、Rightなら列名と値のタプルのリストのリストのリス
タイトル通り、ニコニコ動画の動画をダウンロードするクラスをC#で書いてみました。大まかな手順は以下の通りです。 まずhttps://secure.nicovideo.jp/secure/login?site=niconicoにニコニコ動画登録時のメールアドレスとパスワードをPOSTで送信します。このときのCookieは保存しておきます。 xxxを動画IDとして、http://ext.nicovideo.jp/api/getflv/xxx?as3=1を1.で取得したセッションIDを用いてGETします。すると、以下のようなリスポンスが返ってきます。 thread_id=1271590831&l=386&url=http%3A%2F%2Fsmile-cll26.nicovideo.jp%2Fsmile%3Fv%3D10432897.62944low&link=http%3A%2F%2Fwww.s
前回「明日公開します」とか言っておきながら、気づいたら2週間経ってました…すみません、いい加減公開します。 薄っぺらいラッパーなので、微妙にめんどくさいところもありますが、とりあえず動きはします。以下は大体こんなことができるよーっていうサンプルコードです。 サンプルコード using System; using System.Linq; using NicovideoUtil; namespace NivovideoUtilTest { class Program { //メールアドレス private const string LOGIN_MAIL = "***@***.***"; //パスワード private const string LOGIN_PASS = "***"; //動画ID private const string TEST_VID_ID = "sm***"; sta
このページを最初にブックマークしてみませんか?
『Biography · Keichi Takahashi』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く