这可能是一件非常简单的事情,但我不知道如何实现以下内容.
package mods.client.resultSelector;
import com.google.gwt.event.dom.client.MouseDownEvent;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.user.client.ui.AbsolutePanel;
import com.google.gwt.user.client.ui.Composite;
public class MousyAbsolutePanel extends Composite implements MouseDownHandler {
AbsolutePanel abs = new AbsolutePanel();
public MousyAbsolutePanel(int width){
System.out.println("MousyAbsolutePanel being created with width:" + width);
initWidget(abs);
abs.setWidth(String.valueOf(width));
abs.setHeight("100%");
abs.setStyleName("mousyAbsolutePanel");
}
public void onMouseDown(MouseDownEvent event) {
System.out.println("onMouseDown()");
}
}
Run Code Online (Sandbox Code Playgroud)
我想拥有一个可以接受鼠标事件的absolutePanel.但是,在Composite对象中,我不知道如何将我编写的处理程序(onMouseDown()事物)与abs变量绑定.简而言之,我希望abs AbsolutePanel在点击时响应,但AbsolutePanels不会自然地接受点击事件.我该怎么做呢?
如果这很简单,请提前道歉,但我不太清楚如何实现这种行为,我在搜索过程中没有看到它.
说我有浮动.我想要这个Float的小数部分的前32位?具体来说,我正在寻找sha256伪代码的这部分工作(来自维基百科)
# Note 1: All variables are unsigned 32 bits and wrap modulo 232 when calculating
# Note 2: All constants in this pseudo code are in big endian
# Initialize variables
# (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):
h[0..7] := 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
Run Code Online (Sandbox Code Playgroud)
我天真地尝试做地板(((sqrt 2) - 1)*2 ^ 32),然后将返回的整数转换为Word32.这根本不是正确的答案.我认为通过乘以2 ^ 32的功率,我实际上将它移动了32个位置(在地板之后).显然,并非如此.无论如何,长期和短期是,我如何生成h [0..7]?
我似乎无法找到允许我获得www.domain.com/#something的#something部分的属性.我尝试过self.request.url,self.request.path,self.request.uri等,这些不包括url的锚点部分.我该怎么做才能获得锚定部分?
我的 project.clj 文件看起来像这样
(defproject cljs-template "0.1.0-SNAPSHOT"
:description "FIXME: write this!"
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.4.0-beta4"]
[noir-cljs "0.3.0"]
[fetch "0.1.0-alpha2"]
[noir "1.3.0-beta2"]
[org.clojure/core.cache "0.5.0"]
[com.datomic/datomic "0.1.3142"
:exclusions [org.slf4j/slf4j-nop org.slf4j/slf4j-log4j12]]
[ch.qos.logback/logback-classic "1.0.1"]]
:plugins [[lein-swank "1.4.3"]]
;:cljsbuild {:builds [{}]}
:main ^{:skip-aot true} cljs-template.server)
Run Code Online (Sandbox Code Playgroud)
我的 /src/cljs_template/server.clj 开始如下:
(ns cljs-template.server
(:require [noir.server :as server]
[noir.cljs.core :as cljs]
[cljs-template.tree :as tree])
(:use [datomic.api :only [db q] :as d]))
Run Code Online (Sandbox Code Playgroud)
然后我启动 swank,在其中运行 (in-ns 'cljs-template.server),将光标移动到 (ns) 函数调用的末尾,并尝试使用 Ctrl-x Ctrl- 运行 (ns) 方法e. 当我这样做时,我收到以下错误。
No message.
[Thrown class java.lang.ExceptionInInitializerError]
Restarts: …Run Code Online (Sandbox Code Playgroud) 如何修改Clojure FN或宏的:arglist属性?
(defn tripler ^{:arglists ([b])} [a] (* 3 a))
(defn ^{:arglists ([b])} quadrupler [a] (* 4 a))
% (meta #'tripler) =>
{:arglists ([a]), :ns #<Namespace silly.testing>, :name tripler, :line 1, :file "NO_SOURCE_PATH"}
% (meta #'quadrupler) =>
{:arglists ([a]), :ns #<Namespace silly.testing>, :name quadrupler, :line 1, :file "NO_SOURCE_PATH"}
Run Code Online (Sandbox Code Playgroud)
好的,那里没有运气,所以我尝试执行以下操作。
(def tripler
(with-meta trippler
(assoc (meta #'tripler) :arglists '([c]))))
% (with-meta #'tripler) =>
{:ns #<Namespace silly.testing>, :name tripler, :line 1, :file "NO_SOURCE_PATH"}
Run Code Online (Sandbox Code Playgroud)
嗯,现在:arglists键不见了?好吧,我放弃了,我该怎么做?我只想修改:arglists的值。上面的示例使用defn,但我也想知道如何使用宏(defmacro)设置:arglists。
我有以下代码
import time
from selenium import webdriver
import selenium.webdriver.chrome.service as service
chromedriver_path = "/Users/stephen/Downloads/chromedriver2_mac32_0.8/chromedriver"
chromium_path = "/Users/stephen/Downloads/chrome-mac/Chromium.app/Contents/MacOs/Chromium"
service = service.Service(chromedriver_path)
service.start()
capabilities = {'chrome.binary': chromium_path}
driver = webdriver.Remote(
service.service_url,
desired_capabilities=capabilities)
driver.get('http://www.google.com/xhtml');
time.sleep(5) # Let the user actually see something!
driver.quit()
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我运行上面的Python脚本时,Selenium非常礼貌地完全忽略了我想要使用的事实,Chromium而是使用我的默认值Google Chrome.要清楚,它确实完成了脚本指定的内容,它只是使用Chrome而不是Chromium.
显然,我做错了什么.我基于以下几页尝试.
https://code.google.com/p/chromedriver/wiki/GettingStarted
使用Chromium Web浏览器和Selenium(在Python中)需要做什么?
我attemptting得到CRC32c我的本地文件的校验和,所以我可以把它比作blob.crc32c由gcloud库提供.谷歌说我应该使用crcmod模块来实际计算CRC32c我的数据的哈希值.
modifiedFile.txt 已从Google云端存储桶下载到我的本地文件系统.
这里的目标是,should_download只有在我的本地客户端与远程服务器上modifiedFile.txt有不同的情况时才设置为true CRC32c.CRC32c如果我的本地文件系统和我的gcloud Blob都具有相同的内容,我如何让它们生成匹配?
from crcmod import PredefinedCrc
from gcloud import storage
# blob is a gcloud Blob object
should_download = True
with open('modifiedFile.txt') as f:
hasher = PredefinedCrc('crc-32c')
hasher.update(f.read())
crc32c = hasher.digest()
print crc32c # \207\245.\240
print blob.crc32c # CJKo0A==
should_download = crc32c != blob.crc32c
Run Code Online (Sandbox Code Playgroud)
不幸的是,它目前总是失败,因为我实际上并不知道如何将我构建的校验和与crcmod我在匹配Blob对象中看到的属性进行比较.
python crc32 google-cloud-storage gcloud-python google-cloud-python
我相信我在core.logic中解构地图时遇到了问题.我有以下代码:
... used clojure.core.logic
... required clojure.core.logic.arithmetic as logic.arithmetic.
(def hand ({:rank 9, :suit :hearts}
{:rank 13, :suit :clubs}
{:rank 6, :suit :spades}
{:rank 8, :suit :hearts}
{:rank 12, :suit :clubs}))
(run* [q]
(fresh [v w x y z] ;;cards
(== q [v w x y z])
(membero v hand)
(membero w hand)
(membero x hand)
(membero y hand)
(membero z hand)
(fresh [a b c d e] ;;ranks
(== {:rank a} v)
(== {:rank b} w)
(== {:rank c} …Run Code Online (Sandbox Code Playgroud) 我一直希望Cmd-r能够"运行我的main.html"文件.
有没有办法做到这一点.目前,当我查看我的键绑定的Eclipse XML输出时,似乎Cmd-r绑定到"Run".这一般很好,但它很烦人,因为我必须总是切换出我正在编辑的任何.html文件,然后在按下Cmd -r之前打开main.html.
我在Dart编辑器版本0.4.5_r21094.
假设我有两个React组件,A和B,其中B依赖于(利用)A.假设A在a.js中,B在b.js中.
React有没有办法安全地解决从B到A的依赖?从而保证无论我实际包含a.js和b.js的顺序如何,事情仍然会正确解决?
我相信Google Closure编译器在开发和生产模式下都有效地伪造了一个依赖系统.这使得不同代码包含在源中的顺序无关紧要; React有这样的东西吗?