我的命名空间包含仅在开发中使用的调试实用程序。我想在没有限定符的所有名称空间中访问它们(与clojure.core
中的符号相同)。
假设我的项目结构如下:
dbg_utils.clj :
(ns project.dbg-utils)
(defmacro dbg ...)
db.clj
(ns project.db)
(defn create-entity [...]
...)
在我想要启动REPL并键入以下内容之后:
> (require 'project.db)
> (require 'project.dbg-utils)
> (globalize-symbol 'project.dbg-utils/dbg)
使用dbg
宏后没有限定符:
(ns project.db) ;; no require of project.dbg-utils
(defn create-entity [...]
(dbg ...) ;; and no qualifier here
...)
是否有globalize-symbol
(或接近此)可用?
答案 0 :(得分:2)
Leiningen为此提供c = colorbar();
drawnow;
alphaVal = 0.1;
% Make the colorbar transparent
cdata = c.Face.Texture.CData;
cdata(end,:) = uint8(alphaVal * cdata(end,:));
c.Face.Texture.ColorType = 'truecoloralpha';
c.Face.Texture.CData = cdata;
drawnow
% Make sure that the renderer doesn't revert your changes
c.Face.ColorBinding = 'discrete';
% Print your figure
print(gcf, 'Parula.png', '-dpng', '-r300');
% Now change the ColorBinding back
c.Face.ColorBinding = 'interpolated';
% Update the colormap to something new
colormap(jet);
drawnow
% Set the alpha values again
cdata = c.Face.Texture.CData;
cdata(end,:) = uint8(alphaVal * cdata(end,:));
c.Face.Texture.CData = cdata;
drawnow
% Make sure that the renderer doesn't revert your changes
c.Face.ColorBinding = 'discrete';
print(gcf, 'Ugly_colormap.png', '-dpng', '-r300');
功能和:injections
个人资料。
This article分享了如何做到这一点的一些指示。它基本上是通过添加你想要的调试函数:user
来工作的,因为在使用clojure.core
宏时,所有来自这个命名空间的公共变量都被包含在内(除非你另有说明),你将可以使用它们你的名字空间。