Clojure 初心者がチュートリアルをやって、やらかしたイージーミス
Clojureのチュートリアルをいろいろやっています。
戒めの為に、イージーミスを記録します。
Contents
キーワードを使ったマップからの値取得を、マップの定義と勘違い
(:params request)
;;という処理を
{:params request}
;;と書いていました。
最初に「->」がついている関数名を、スレッディングマクロと勘違い
(->kebab
;;という関数の呼び出しを、
(-> kebab
;;と、勘違いしてました。
まぎらわしいと思うんですが、このライブラリ以外でもこういう関数名はあるようなので、慣れていきます。
curlコマンドでダブルクォートのエスケープ忘れ
Clojureに直接関係はないけど。windows上、curlコマンドでjsonのPOSTをするとき、ダブルクォートのエスケープをせずにエラー。
#↓エラー発生
# clojure.lang.ExceptionInfo: Malformed application/json request.
curl -X POST -H "Content-Type: application/json" -d '{"name":"kero"}' localhost:3000//users
#エスケープが必要
curl -X POST -H "Content-Type: application/json" -d '{\"name\":\"kero\"}' localhost:3000//users
今は、HTTPieを使っています。
ディスカッション
コメント一覧
まだ、コメントがありません