我在haskell写一个词法分析器.这是代码:
lexer :: String -> [Token]
lexer s
| s =~ whitespace :: Bool =
let token = s =~ whitespace :: String in
lex (drop (length token) s)
| s =~ number :: Bool =
let token = s =~ number :: String in
Val (read token) : lex (drop (length token) s)
| s =~ operator :: Bool =
let token = s =~ operator :: String in
Oper token : lex (drop (length token) s)
| otherwise …Run Code Online (Sandbox Code Playgroud) 我有一个emp包含以下结构和数据的表:
name dept salary
----- ----- -----
Jack a 2
Jill a 1
Tom b 2
Fred b 1
Run Code Online (Sandbox Code Playgroud)
当我执行以下SQL时:
SELECT * FROM emp GROUP BY dept
Run Code Online (Sandbox Code Playgroud)
我得到以下结果:
name dept salary
----- ----- -----
Jill a 1
Fred b 1
Run Code Online (Sandbox Code Playgroud)
在什么基础上服务器决定返回吉尔和弗雷德并排除杰克和汤姆?
我在MySQL中运行此查询.
注1:我知道查询本身没有意义.我试图用'GROUP BY'方案调试问题.我试图理解为此目的的默认行为.
注2:我习惯于编写与GROUP BY子句相同的SELECT子句(减去聚合字段).当我遇到上述行为时,我开始想知道我是否可以依赖于以下场景:从emp表中选择薪水是dept中最低/最高的行.例如:像这样的SQL语句适用于MySQL:
SELECT A.*, MIN(A.salary) AS min_salary FROM emp AS A GROUP BY A.dept
Run Code Online (Sandbox Code Playgroud)
我没有找到任何描述这种SQL工作原理的材料,更重要的是如果我能够始终如一地依赖这种行为.如果这是一个可靠的行为,那么我可以避免以下查询:
SELECT A.* FROM emp AS A WHERE A.salary = (
SELECT MAX(B.salary) FROM emp B WHERE B.dept = A.dept)
Run Code Online (Sandbox Code Playgroud) 这可能非常简单,但是有人可以告诉我如何在页面加载时让文本框上的光标闪烁吗?
urllib2请求接收二进制响应,如下所示:
00 00 00 01 00 04 41 4D 54 44 00 00 00 00 02 41
97 33 33 41 99 5C 29 41 90 3D 71 41 91 D7 0A 47
0F C6 14 00 00 01 16 6A E0 68 80 41 93 B4 05 41
97 1E B8 41 90 7A E1 41 96 8F 57 46 E6 2E 80 00
00 01 16 7A 53 7C 80 FF FF
Run Code Online (Sandbox Code Playgroud)
其结构是:
DATA, TYPE, DESCRIPTION
00 00 …Run Code Online (Sandbox Code Playgroud) 我正在使用monte carlo方法来计算pi,并使用并行编程和openmp进行基本体验
问题是,当我使用1个线程,x次迭代时,总是比n次线程,x次迭代运行得更快.谁能告诉我为什么?
例如,代码像"a.out 1 1000000"一样运行,其中1是线程,1000000是迭代
include <omp.h>
include <stdio.h>
include <stdlib.h>
include <iostream>
include <iomanip>
include <math.h>
using namespace std;
int main (int argc, char *argv[]) {
double arrow_area_circle, pi;
float xp, yp;
int i, n;
double pitg= atan(1.0)*4.0; //for pi error
cout << "Number processors: " << omp_get_num_procs() << endl;
//Number of divisions
iterarions=atoi(argv[2]);
arrow_area_circle = 0.0;
#pragma omp parallel num_threads(atoi(argv[1]))
{
srandom(omp_get_thread_num());
#pragma omp for private(xp, yp) reduction(+:arrow_area_circle) //*,/,-,+
for (i = 0; i < iterarions; i++) …Run Code Online (Sandbox Code Playgroud) 我设法让我的安装全部搞砸了,因为我是一个新手,搞砸是我擅长的.
1)任何人都可以为这些东西参考一套可靠的设置说明吗?
2)我可以通过macports卸载并从头开始(密码和所有)吗?在尝试unistall,WTF之后,我尝试了一堆mysql目录!
3)mysqld.sock需要驻留在哪里以及我需要应用哪些文件设置才能让它与php5和apache2一起玩得很好?它是否存在于/ tmp或/ opt/local/var/run/mysql5 /中?我需要配置/opt/local/etc/php5/php.ini吗?选择/本地的/ var/DB/PHP5/mysql.ini?/opt/local/etc/mysql5/my.cnf?
4)我运行了> sudo -u mysql mysql_install_db5.如果我再次运行它会搞砸我吗?我运行了mysqladmin -u root密码'mypw',并收到一条错误消息,指出mysql无法通过套接字连接.这是否意味着我的密码现已设置?我有办法告诉你吗?
5)密码语句的语法从博客变为博客.我的密码是'mypw'还是mypw(没有引号)?(我的密码实际上不是mypw)
6)启动和停止mysql的适当命令是什么?我的机器启动时我不希望它启动.
谢谢Jergason,这非常有帮助.
我真的希望与mysql的macports安装保持一致,因为它限制了我可以对我的机器造成的伤害.
所以现在突出的问题是......
1)macports mysql安装的默认套接字位置是什么?
2)启动和停止mysql的适当命令是什么?我的机器启动时我不希望它启动.一些博客说使用launchctl -load其他人说sudo/path/mysql_safe5.如果您没有设置密码(因为我不打算),您是否需要使用-user -p参数?
3)使macports mysql正常工作所需的目录所有权和权限是什么.似乎macports没有设置任何一个.
Nerdling
检查/ tmp是否为MacPorts mysql套接字
没用.如前所述,我知道/ tmp是套接字的默认位置.我的问题是,当我尝试启动mysql时套接字没有实现,也没有出现在/ opt/local/var/run/mysql5 /中.这告诉我启动mysql有问题,这意味着设置有问题.可能是什么,我不知道.我担心我不是天生具有这种事物的先验知识.
- 在Snow Leopard下使用macports进行mysql5安装的套接字应该是什么SPECIFIC目录?
如果你正在使用5个不同网站的关于如何运行mysql的提示,你会感到惊讶,你已经迷失了......好吧,我只是试着一次只关注一个网站并在之前退出所有更改去下一个.
没用.我完全按照你的建议开始做了.你觉得我做了什么,混合搭配5个博客的说明?这就是我询问干净卸载的原因.我想知道先前安装的状态更改是否会影响将来的"干净"安装.
- 什么SPECIFIC博客描述了使用Snow Leopard下的macports确认的mysql5安装程序.
我认为你使用MacPorts mysql唯一的问题(你有什么问题?)是它有一个你不期望它的套接字,并且它使用默认配置.
没用.我也是,看我原来的帖子.我认为问题在于mysql是如何启动的(或者没有启动).
- 您对如何解决问题有任何具体的建议吗?
这应该在MacPorts完成安装后解释.
没用.它不是,或者如果是的话,我没有看到它.也许是因为我在使用Porticus.
-你可以再详细一点吗?在什么时候我应该看到什么消息?
请参阅$ {prefix}/share/doc/mysql5 /获取想法和/或联系开发人员列表.还要考虑联系端口的维护者; 自从他们管理它们以来,他们可能最了解它.
没用.RTM,谷歌是你的朋友,所有这一切.是的,先去那里.虽然我承认我可能忽略了一些事情,因为当我确定我的问题很简单时,我还有其他工作要做的时候,我不想花几天时间阅读一些写得不好的文档.
我希望像Jergason提供的一些简单,专注的帮助.我(和其他人读到这篇文章)赞赏杰格森愿意传达他的知识,以加速新技术人员的学习过程.对他来说,知识是基本的,但对于新来者来说,这是一个节省大量时间.智力的真正标志是理解技术知识不是先验的,即使是基本的帮助也是非常有帮助的.再次感谢J-man.
为了区分问题,在我当前的项目中,我决定在单独的程序集中完全分离我的DAL和BLL/Business对象.我希望将我的业务对象保持为简单的结构,而没有任何逻辑可以使事情变得非常简单.我想如果我可以将我的业务逻辑与我的DAL分开.所以我的应用程序将告诉我的DAL加载我的对象,我的DAL将运行到数据库并获取数据,用数据填充对象,然后将其传递回我的BLL.
问题 - 如何将DAL放在单独的程序集中并将数据推送到只读字段?
编辑:我注意到我可以有一个返回类型的ObjectBase,但实际上是返回一个对象或从ObjectBase派生的对象集合,所以对外界(在我的DAL之外)属性将是只读的,但我的派生类型(只能在我的DAL中访问)属性实际上是读/写.
C的新手,非常感谢您的帮助.
是否可以在C中定义数组而无需指定其大小或初始化它.
例如,我可以提示用户输入数字并将它们存储在int数组中吗?我不知道他们预先输入了多少号码.
我现在能想到的唯一方法是定义最大尺寸,这不是一个理想的解决方案......
你应该怎么处理BitmapSource?
// this wont work because BitmapSource doesnt implement IDisposable
using(BitmapSource bitmap = new BitmapImage(new Uri("myimage.png")))
{
}
Run Code Online (Sandbox Code Playgroud) 我有一个shell脚本文件(run.sh),其中包含以下内容:
Run Code Online (Sandbox Code Playgroud)#!/bin/bash %JAVA_HOME%/bin/java -jar umar.jar
当我尝试运行它(./run.sh)时,它给了我以下内容:umar/bin/run.sh:line 1:fg:没有作业控制
但是,如果我直接在shell上运行相同的命令,它可以完美地工作.
脚本文件有什么问题?
谢谢