我已经阅读了文档(http://dev.mysql.com/doc/refman/5.1/en/partitioning.html),但我想用你自己的话说,它是什么以及为什么使用它.
我的应用程序主目录中有一个"lib"目录,它包含任意数量的子目录,每个子目录都有自己的Makefile.
我想在主目录中有一个Makefile,它调用每个子目录的Makefile.我知道如果我手动列出子目录这是可能的,但我想自动完成它.
我在想类似下面的东西,但它显然不起作用.请注意,我也有干净,测试等目标,所以%可能根本不是一个好主意.
LIBS=lib/*
all: $(LIBS)
%:
(cd $@; $(MAKE))
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!
Erlang中的一个常见模式是维护状态的递归循环:
loop(State) ->
receive
Msg ->
NewState = whatever(Msg),
loop(NewState)
end.
Run Code Online (Sandbox Code Playgroud)
有没有办法用bif或跟踪查询正在运行的进程的状态?由于崩溃消息说"......状态是......"并显示崩溃进程的状态,我认为这很容易,但我很失望,因为我无法找到这样做的bif.
那么,我认为使用dbg模块的跟踪就可以了.不幸的是,我相信因为这些循环是尾调用优化的,所以dbg只捕获对该函数的第一次调用.
有解决方案吗
我想创建一个B类的朋友类.我想这样做,因为这些非常相互作用,A需要改变B类的内部(我不希望使用public公开).但我想确保它只能访问几个选定的函数而不是所有函数.
例:
class A
{
};
class B
{
private:
void setState();
void setFlags();
friend class A
};
Run Code Online (Sandbox Code Playgroud)
我希望A能够访问setState但不能访问setFlags ...是否有设计模式或这样做的好方法,或者我在这种情况下完全访问或完全没有访问权限.
谢谢
struct A {
static const int a = 5;
struct B {
static const int b = a;
};
};
int main() {
return A::B::b;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码编译.但是,如果你选择Scott Myers的Effective C++书籍(第14页); 除声明外,我们还需要一个定义.任何人都可以解释为什么这是一个例外?
我想将包含有效Erlang表达式的字符串转换为其抽象语法树表示,到目前为止没有任何成功.
以下是我想做的一个例子.编译后,alling z:z().生成模块zed,通过调用zed:zed().返回lists:reverse给定列表上的应用结果.
-module(z).
-export([z/0]).
z() ->
ModuleAST = erl_syntax:attribute(erl_syntax:atom(module),
[erl_syntax:atom("zed")]),
ExportAST = erl_syntax:attribute(erl_syntax:atom(export),
[erl_syntax:list(
[erl_syntax:arity_qualifier(
erl_syntax:atom("zed"),
erl_syntax:integer(0))])]),
%ListAST = ?(String), % This is where I would put my AST
ListAST = erl_syntax:list([erl_syntax:integer(1), erl_syntax:integer(2)]),
FunctionAST = erl_syntax:function(erl_syntax:atom("zed"),
[erl_syntax:clause(
[], none,
[erl_syntax:application(
erl_syntax:atom(lists),
erl_syntax:atom(reverse),
[ListAST]
)])]),
Forms = [erl_syntax:revert(AST) || AST <- [ModuleAST, ExportAST, FunctionAST]],
case compile:forms(Forms) of
{ok,ModuleName,Binary} -> code:load_binary(ModuleName, "z", Binary);
{ok,ModuleName,Binary,_Warnings} -> code:load_binary(ModuleName, "z", Binary)
end.
Run Code Online (Sandbox Code Playgroud)
String可能是"[1,2,3].",或"begin …
只是想知道是否有人可以提供使用erlang-mysql模块(http://code.google.com/p/erlang-mysql-driver/)的工作示例.
我是erlang的新手,我正在尝试用一些erlang批处理过程替换一些旧脚本.我能够连接到数据库甚至完成查询,但我不确定如何使用结果.这是我目前拥有的:
-include("../include/mysql.hrl").
...
mysql:start_link(p1, "IP-ADDRESS", "erlang", "PASSWORD", "DATABASE"),
Result1 = mysql:fetch(p1, <<"SELECT * FROM users">>),
io:format("Result1: ~p~n", [Result1]),
...
Run Code Online (Sandbox Code Playgroud)
我还有一个准备好的声明,我也用它来获得一行(如果它存在),知道如何访问结果也是有帮助的
嗨,我是Erlang世界的新手.当我想到我们需要如何解决以下问题时(并且有一长串类似的问题),我认为它真的效率很低,因为我们说的是很多递归.显然,像C/Java这样的语言不需要笨拙的递归来解决这个问题,但是对于Erlang(我猜其他函数式编程语言也需要,也许?)你必须以这种方式做.
例3 - 附加
该程序连接两个列表:
append([], List) -> List;
append([First|Rest], List) -> [First | append(Rest,List)].
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么这不是一个问题?
好的,所以我最近开始学习erlang,但对它不断返回的错误感到困惑.我做了一些更改,但我一直在收到错误.据我所知,语法是正确的,但显然我做错了.看一看...
-module(pidprint).
-export([start/0]).
dostuff([]) ->
receive
begin ->
io:format("~p~n", [This is a Success])
end.
sender([N]) ->
N ! begin,
io:format("~p~n", [N]).
start() ->
StuffPid = spawn(pidprint, dostuff, []),
spawn(pidprint, sender, [StuffPid]).
Run Code Online (Sandbox Code Playgroud)
基本上我想编译脚本,调用start,生成"dostuff"进程,将其进程标识符传递给"sender"进程,然后将其打印出来.最后,我想使用最初传入发送方的进程标识符将原子"begin"发送到"dostuff"进程.
当我尝试使用c()编译脚本时,我会遇到错误.他们来了..
./pidprint.erl:6: syntax error before: '->'
./pidprint.erl:11: syntax error before: ','
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一个带有几个复选框的表单.当我将它提交到另一个php页面时,我想知道:如何在不调用每个复选框名称的isset的情况下判断哪些被检查?(如果有办法).如果我给每个复选框指定相同的名称,则只返回最后选中的复选框.
谢谢,
迈克尔
这很好用
if ((a >= 40 && a <= 50) || (a >= 60 && a <= 80))
// do something
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
if ((a < 40 && a > 50) || (a < 60 && a > 80))
// do something
Run Code Online (Sandbox Code Playgroud)
代码无法按预期工作.我想要的东西如果不是(条件)