当我尝试使用真实项目来驱动Haskell时,我遇到了以下定义.我不明白每个论点前面的感叹号是什么意思,我的书似乎没有提到它.
data MidiMessage = MidiMessage !Int !MidiMessage
Run Code Online (Sandbox Code Playgroud) 同事们一直在兜售maven及其魔法依赖的奇迹,但我发现它在我认为显而易见的用途上失败了.
假设我有一个带有主POM的根文件夹.
然后我有一些项目,称他们为A和B.
B需要A,因此B文件夹中的POM中包含相应的依赖项
现在,回到根文件夹,在配置文件中,我指定我要构建B.
当我执行通常的mvn clean安装时,我得到了一个失败,因为A没有构建.
我的朋友告诉我,我必须在根目录中的主要配置文件中指定A和B.
但是不是maven看到B的依赖管理的全部要点,转到B POM文件,它看到对A的依赖,所以它应该自动构建A.
刚刚更新到最新的xCode 4.41,现在我收到大量有关完美代码的警告(参见主题行).这些警告是我正在使用的第三方源代码,我不想进入该代码和编辑(下次我更新该代码时我必须再次这样做)所以我宁愿只是禁用它特别警告.
顺便说一下,我正在使用xcode4.41,但显然我没有足够的声誉来创建一个新的标签(虽然4.41尚未存在,但很有趣)
有人知道SWT小部件可以是支持语法高亮的文本编辑器吗?我知道StyledText小部件,但我希望有人已经编写了一些库,因此可以指定应该突出显示的关键字.
我正慢慢地在Haskell中加速,尝试使用gui toolgit等等.我遵循了使用glade创建一个简单的GUI应用程序的基本教程,现在我正在尝试模块化它.特别是,我想利用函数而不是在main中执行所有操作.我做的第一件事是创建单独的函数来访问按钮和关联单击按钮时要执行的代码.它工作正常,但如果你看下面的代码,我必须随身携带整个glade XML"变量".我意识到我们不会在Haskell中做全局,但在我看来,必须有一个更好的机制,而不是在函数中携带每个变量.显然在OO世界中,XML的东西只是一个类中的实例变量,因此在任何地方都可以隐式使用.在Haskell世界中这样做的"正确"方法是什么?
module Main (main) where
import Graphics.UI.Gtk
import Graphics.UI.Gtk.Glade
getButton :: GladeXML -> String -> IO Button
getButton gladeXML buttonName =
xmlGetWidget gladeXML castToButton buttonName
onButtonClick :: GladeXML -> String -> [IO a] -> IO ()
onButtonClick gladeXML buttonName codeSequence = do
aButton <- getButton gladeXML buttonName
_ <- onClicked aButton $ do -- Run the sequence of operations when user clicks
sequence_ codeSequence
return ()
loadGladeFile :: FilePath -> IO (Maybe GladeXML)
loadGladeFile filename = do
g …Run Code Online (Sandbox Code Playgroud) 考虑下面的设法类,方法A()包含两个lambda函数,a1()和a2().我希望能够从a1内部调用a2.但是,当我这样做时,(a1中的第二行),我得到了错误
错误:变量"无法隐式捕获,因为未指定默认捕获模式"
我不明白这个错误信息.我应该在这里捕捉到什么?我明白在lambda定义中使用[this]可以让我访问类foo中的方法,但我不清楚如何做我想要的.
提前谢谢你让我直截了当.
class foo
{
void A()
{
auto a2 = [this]() -> int
{
return 1;
};
auto a1 = [this]() -> int
{
int result;
result = a2();
return result;
};
int i = a1();
int j = a2();
}
};
Run Code Online (Sandbox Code Playgroud) 在编译Qt项目中的文件集合时,我看到了很多与此类似的警告.
In file included from /usr/local/Trolltech/Qt-4.8.6/include/QtGui/qevent.h:52:
/usr/local/Trolltech/Qt-4.8.6/include/QtGui/qmime.h:119:10: warning: private field 'type' is not used [-Wunused-private-field]
char type;
^
Run Code Online (Sandbox Code Playgroud)
根据各种搜索的建议,我确实添加了条目
QMAKE_CXXFLAGS + = -Wno-unused-private-field
到.pro文件并确认它在编译器调用中正确显示但我仍然收到该警告.
我在带有clang的Mac上运行Qt.
提前感谢任何见解.
所以(在我不断尝试成为Haskell程序员的尝试中)我想我会尝试使用Haskell在Mac上自动控制Firefox.去了https://github.com/kallisti-dev/hs-webdriver,安装了webdriver,安装了独立的java selenium服务器并尝试运行简单的Hello World测试(在修复语法错误之后,runSession的'config'参数应该是(我假设)'myConfig')
看起来像Firefox开了一会儿,然后就消失了.基于Java的selenium服务器产生了大量的错误消息.见下文.
谁知道什么是错的?
为了它的价值,在尝试这个之后,我安装了python绑定并且有一个python版本工作在大约10秒钟!
dhjmacpro:~/bin $ java -jar selenium-server-standalone-2.42.2.jar
Jul 25, 2014 12:32:28 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
12:32:28.052 INFO - Java: Apple Inc. 20.65-b04-462
12:32:28.053 INFO - OS: Mac OS X 10.9.4 x86_64
12:32:28.061 INFO - v2.42.2, with Core v2.42.2. Built from revision 6a6995d
12:32:28.125 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC
12:32:28.153 INFO - RemoteWebDriver …Run Code Online (Sandbox Code Playgroud) 如果有人能帮助我理解在枚举器中使用Yielder与在枚举器中调用yield之间的区别,我将不胜感激.
"有根据的Rubyist"表明,人们不会"从块中屈服",但并不能准确地解释发生了什么.
谢谢
我试图了解读者和/或州monad的实际需求.我见过的所有例子(包括很多关于stackoverflow,因为我已经寻找合适的例子,我可以使用以及各种书籍和博客文章)的形式(伪代码)
f = do
foo <- ask
do something with foo
g = do
foo <- ask
do something else using foo
h = runReader
(
f
g
)
Run Code Online (Sandbox Code Playgroud)
换句话说,调用两个函数并(可能)从一个调用到下一个调用保持某种状态.但是,我没有发现这个例子特别令人信服,因为(我认为)我可以让f返回一些状态,然后将该状态传递给g.
我希望看到一个例子,使用一个整数(比如说)作为要保留的状态,而不是两个顺序调用f然后从中心位置调用g,而不是调用f然后在内部调用g然后在主程序中更改了状态(如果状态monad).
我见过的大多数(实际上是所有)示例花费了大量时间专注于monad的定义,然后展示如何设置单个函数调用.对我来说,这就是能够进行嵌套调用并让状态随身携带,以证明它为什么有用.