ゴミ箱.net

汚物は消毒

駱駝と蛇

プログラムの変数などの書き方にはいくつかの流儀がある。
単語の頭を大文字、それ以外を小文字にするキャメルケース。camelCaseのような感じになる。
単語をアンダースコアでつなぐスネークケース。snake_caseのような感じになる。
これらを相互変換するemacs lispを作ってみた。

(defun camel-to-snake (s &optional do-upcase)
(let ((case-fold-search nil))
(funcall (if do-upcase 'upcase 'downcase)

(replace-regexp-in-string
"\\([A-Z]\\)" "_\\1"
(concat (downcase (substring s 0 1)) (substring s 1))))))

(defun snake-to-camel (s &optional capitalize)
(let ((case-fold-search nil))
(replace-regexp-in-string
"_\\([a-zA-Z]\\)"
(lambda (s2) (upcase (substring s2 1)))
(concat (if capitalize "_" "") s))))
スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する