我想显示一个活动选择器,显示可以查看和/或编辑某些数据的所有应用程序.有没有一种简单的方法可以做到这一点,还是我必须实现自己的活动选择器对话框?或许我可以只是亚类Intent?谢谢.
我正在尝试编写一个调用某些函数的宏.这些函数只能由宏使用,所以我将它们放在letfn包装宏中.伪代码:
(letfn [(fn-a [] ...)
(fn-b [] ...)
(fn-c [] (fn-b))]
(defmacro my-macro [stuff]
`(let [whatever# (fn-a)]
(fn-c))))
Run Code Online (Sandbox Code Playgroud)
调用fn-a和fn-c工作,但是当fn-c试图调用fn-b我得到IllegalStateException:试图调用未绑定的fn:#'name.space/fn-b.这是为什么?
如果我把fn-b和fn-c自己的defnS,一切正常.但我不想这样做,因为它不干净.
编辑:只是为了测试,我尝试将函数绑定放在内部,let但遇到了同样的异常.
我想定义一个宏,随机选择一个给定的表达式并对其进行评估.例如,
(equal-chance
(println "1")
(println "2"))
Run Code Online (Sandbox Code Playgroud)
应该打印"1"的一半时间和"2"打印另一半.
我试过用,
(defmacro equal-chance
[& exprs]
`(rand-nth '~exprs))
Run Code Online (Sandbox Code Playgroud)
但这会返回一个引用的表单,而不是对其进行评估(即它将返回(println "1")而不是实际打印"1").我无法使用,eval因为它不保留绑定.例如,
(let [x 10] (eval '(println x)))
Run Code Online (Sandbox Code Playgroud)
抱怨它无法解析符号x.
有没有办法在本地范围内评估报价表格?或者也许有更好的方法来解决这个问题?
鉴于移动设备在短时间内的实时位置数据,如何在这条道路上进一步获得一对/一对,比如2英里,甚至更好,5分钟的驾驶?
我看到我可以使用谷歌的Roads API来搭配一对长途对话https://developers.google.com/maps/documentation/roads/snap,但这只会让我分道扬..
这将是一个Android应用程序.
android google-geocoder google-geocoding-api google-roads-api android-gps
一个reduce电话f首先有一个参数.从视觉上讲,这通常是表格中最重要的部分.例如
(reduce
(fn [[longest current] x]
(let [tail (last current)
next-seq (if (or (not tail) (> x tail))
(conj current x)
[x])
new-longest (if (> (count next-seq) (count longest))
next-seq
longest)]
[new-longest next-seq]))
[[][]]
col))
Run Code Online (Sandbox Code Playgroud)
问题是,val论证(在这种情况下[[][]])和col论证在下面,下面,你的眼睛有很长的路要走,以匹配那些参数f.
如果它按此顺序,它看起来更具可读性:
(reduceb val col
(fn [x y]
...))
Run Code Online (Sandbox Code Playgroud)
我应该实现这个宏,还是我首先接近这个完全错误?
我有一个Windows应用程序,它注册一个处理对话框的WM_HELP消息的CALLBACK过程,以及一个处理自定义按钮的WM_LBUTTONUP消息的CALLBACK过程.
现在,当用户点击"?"时 按钮,然后单击自定义按钮,帮助打开按预期(在鼠标按下),但如果帮助窗口没有遮挡按钮,也会触发WM_LBUTTONUP消息以及自定义按钮(鼠标向上).这会导致按钮在用户只是寻求帮助时触发.
如果按下按钮是为了帮助,有没有办法阻止发送WM_LBUTTONUP消息?
编辑:自定义按钮使用STATIC控件实现.我相信这是因为它需要有一个图像而没有边框.因此,它不会发送BN_CLICKED通知.事实上,它似乎根本没有触发父母的WM_COMMAND.
谢谢