Fork me on GitHub
#clojure-japan
<
2016-01-15
>
ayato_p07:01:13

こんにちは。ふと疑問に思ったのでちょっと意見ください。 require 書くときに次のような書き方ができると思いますけど、これで書いてるって人いますか?

ayato_p07:01:23

(ns demo.core
  (:require [clojure
             [set :as set]
             [string :as str]]))

ayato_p07:01:06

プレフィックスをまとめるような書き方ですけど、たぶんスタイルガイドとかでは言及されてなかったきがするので(あったら御免なさい><)

athos07:01:12

厳密にはプレフィックスを囲うのは (clojure …) とリストにするべきだったと思いますけど。

ayato_p07:01:26

ほうほう、でもこれ cljr-refactor の clean ns で自動的にベクターにされるんですよね…

athos07:01:01

まぁ、むしろリストで書いてるコードの方が少ない感じはします。

ayato_p07:01:51

プレフィックスで囲うのは好みの問題ですかね、やっぱり。

athos07:01:39

自分のプロジェクトの名前空間だと共通するプレフィックスを持つものが続くことが多いので、個人的にはわりと使ってますね。

ayato_p07:01:21

なるほど。

ayato_p07:01:59

あまり、ライブラリとかでこのスタイルって見ない気がするんで、使われてるのか気になったんですよね。

fhanreich16:01:53

@ayato_p: そういう書き方知らなかったです。うちはvectorなしでrequireしてます。勉強になりました。ありがとう!

ddellacosta16:01:16

その書き方は普通に使うスタイルガイド(https://github.com/bbatsov/clojure-style-guide#comprehensive-ns-declaration ) に書いてないけど、全然いいと思います

ddellacosta16:01:04

一番重要なのは :require :all:use を使わない方がいいっていうことだと思います

ddellacosta16:01:17

ベクターでできると知らなかったけど、勉強になりました。

fhanreich19:01:47

@ddellacosta 私はよく:referを使います。ありがとう simple_smile

ddellacosta19:01:38

あ、間違いました。 :require :all じゃなくて :refer :all と書くつもりでした。笑

ddellacosta19:01:49

@fhanreich そうですね、 :refer ってよく使いますね。

fhanreich19:01:13

@ddellacosta: I think we got what you meant 😉