问题列表 - 第15323页

Ocaml Int和负值

鉴于此OCaml代码片段:

let rec range a b =
  if a > b then []
  else a :: range (a+1) b
  ;;
Run Code Online (Sandbox Code Playgroud)

Repl告诉我它的类型是:

val range : int -> int -> int list = <fun>
Run Code Online (Sandbox Code Playgroud)

给它输入如下:

range 0 4;;
Run Code Online (Sandbox Code Playgroud)

给出列表:

- : int list = [0; 1; 2; 3; 4]
Run Code Online (Sandbox Code Playgroud)

但是提供输入

range -4 2;;
Run Code Online (Sandbox Code Playgroud)

给出错误:

Characters 0-5:
  range -4 1;;
 ^^^^^
This expression has type int -> int -> int list but is here used with type int.
Run Code Online (Sandbox Code Playgroud)

这是什么试图告诉我的?

ocaml type-systems

8
推荐指数
2
解决办法
4174
查看次数

GIT - 跟踪分支与克隆之间的差异

我看到这个命令漂浮在各个站点上.

git checkout --track -b <...>

如果我在远程服务器上创建一个裸仓库并在两个不同的位置工作,那么最快和"批准"的方式是什么?

我做的是,我在我的笔记本电脑上创建了初始回购,然后将更改推送到我的VPS回购所在的"原点"(裸回购).现在,在我的桌面上,我应该克隆我的回购?我问,因为我有两个分支,"dev"和"master".一旦我在桌面上,我不确定是否应该"跟踪"回购或者我应该先克隆?如果我想在dev分支上工作,那么当我使用--track指令结账时该怎么办?

这是我到目前为止所做的.

在笔记本上

cd devproject
git init
git add .
git commit -m "My first commit"
Run Code Online (Sandbox Code Playgroud)

关于VPS回购

mkdir /home/sam/devproject.git
cd /home/sam/devproject.git
git --bare init
exit
Run Code Online (Sandbox Code Playgroud)

回到笔记本电脑

cd devproject
git remote add origin ssh://myserver.com/home/sam/devproject.git
Run Code Online (Sandbox Code Playgroud)

在桌面上(??)

git clone <..>
Run Code Online (Sandbox Code Playgroud)

git

12
推荐指数
1
解决办法
4154
查看次数

过度的DataTable使用不好吗?

我最近被要求协助其他团队建立ASP .NET网站.他们已经编写了大量的代码 - 我被特别要求为该网站构建一些单独的页面.

在探索网站其余部分的代码时,正在构建的DataTables的数量向我跳出来.作为一个相对较新的领域,我从来没有像使用这个网站那样使用数据库的应用程序,所以我不确定这是多么常见.似乎每当从我们的数据库查询数据时,结果都存储在DataTable中.然后,此DataTable通常自行传递,或者传递给构造函数.使用DataTable初始化的类始终将DataTable 分配给私有/受保护字段,但是这些类中只有少数实现IDisposable.实际上,到目前为止我浏览过的数千行代码中,我还没有看到在DataTable上调用Dispose方法.

如果有的话,这似乎不是好的OOP.这是我应该担心的吗?或者我只是比我更注重细节?假设您是最有经验的开发人员,如果刚刚被指派帮助您访问您网站的人向您询问此"问题",您会有什么感受或反应?

c# asp.net

20
推荐指数
3
解决办法
1万
查看次数

NSArray of Dates排序

考虑这个数组.它没有密钥,所以我不确定我可以使用NSSortDescriptor.排序它们的最佳方法是什么?

(
    "Thursday, July 30, 2009",
    "Monday, September 07, 2009",
    "Wednesday, September 09, 2009",
    "Friday, August 14, 2009",
    "Saturday, September 05, 2009",
    "Monday, August 10, 2009",
    "Thursday, July 23, 2009",
    "Monday, October 12, 2009",
    "Friday, October 16, 2009",
    "Monday, August 17, 2009",
    "Tuesday, October 13, 2009",
    "Wednesday, September 30, 2009",
    "Sunday, August 16, 2009",
    "Thursday, August 27, 2009",
    "Monday, August 31, 2009",
    "Saturday, August 15, 2009",
    "Thursday, August 06, 2009",
    "Saturday, September 26, 2009",
    "Tuesday, September 29, 2009",
    "Tuesday, September …
Run Code Online (Sandbox Code Playgroud)

sorting iphone cocoa objective-c foundation

3
推荐指数
1
解决办法
1256
查看次数

我如何知道何时在忽略继承的类型中直接实现接口?

出现的问题是当我有一个实现接口的类,并扩展实现接口的类时:

class Some : SomeBase, ISome {}
class SomeBase : ISomeBase {}
interface ISome{}
interface ISomeBase{}
Run Code Online (Sandbox Code Playgroud)

由于typeof(Some).GetInterfaces()返回带有ISome和ISomeBase的数组,我无法区分ISome是实现还是继承(如ISomeBase).作为MSDN我不能假设数组中接口的顺序,因此我迷路了.方法typeof(Some).GetInterfaceMap()也不区分它们.

c# reflection interface

7
推荐指数
1
解决办法
630
查看次数

C#List <T> OrderBy始终返回null

这是我的设置.

public class ItemList : List<Item>
{
  public void Load() {...}
  public void Save() {...}
}
Run Code Online (Sandbox Code Playgroud)

从XML文件加载读取以填充ItemList

然后,我尝试按优先级排序项目列表.这是一个int?然而,出于测试目的,所有项目具有不同的值.

ItemList itemList = new ItemList();
itemList.Load();

ItemList newItemList = itemList
                        .OrderBy(item => item.Priority) as ItemList;

return newItemList;
Run Code Online (Sandbox Code Playgroud)

在上面的newItemList总是为null.itemList的Count为7.我进行了三次检查,并且itemList实例中的所有项都设置了优先级.

我究竟做错了什么?

我也试过......

ItemList newItemList = itemList
                        .OrderBy(item => item.Priority)
                        .ToList() as ItemList;
Run Code Online (Sandbox Code Playgroud)

似乎没有什么工作.

提前致谢!

c# generic-list sql-order-by

1
推荐指数
1
解决办法
2080
查看次数

MySQL - 不使用索引

我想弄明白我可能做错了什么.此查询似乎没有使用索引,因为它取代了long.

执行时:

Explain SELECT a, b, c, d  FROM `table` WHERE d = 4013456

id       select_type     table       type    possible_keys       key     key_len     ref     rows    Extra`
1      SIMPLE          table       ALL     d                   NULL    NULL     NULL    79787   Using where`
index:
d    INDEX       79787
Run Code Online (Sandbox Code Playgroud)

有什么我做错了吗?解释里面的查询花了10秒钟......好像应该花不到一秒钟.

谢谢!

mysql sql performance

4
推荐指数
1
解决办法
1329
查看次数

在.NET C#中截断整个单词的字符串

我试图在C#中截断一些长文本,但我不希望我的字符串在一个单词中被切断.有没有人有一个我可以用来截断单词结尾的字符串的函数?

例如:

"This was a long string..."
Run Code Online (Sandbox Code Playgroud)

不:

"This was a long st..."
Run Code Online (Sandbox Code Playgroud)

.net c# string truncate

62
推荐指数
3
解决办法
4万
查看次数

Linux - 串口读取返回EAGAIN

我在从以下方式打开的串口读取一些数据时遇到了一些麻烦.我已经多次使用这个代码实例并且一切正常,但现在,由于某些原因我无法弄清楚,我完全无法从串口读取任何内容.

我能够写,并且所有都在另一端正确接收,但是从未收到回复(正确发送)(不,电缆都可以;))

我用来打开串口的代码如下:

fd = open("/dev/ttyUSB0", O_RDWR | O_NONBLOCK | O_NOCTTY);
if (fd == -1)
{
    Aviso("Unable to open port");
    return (fd);
}
else
{
    //Get the current options for the port...
    bzero(&options, sizeof(options)); /* clear struct for new port settings */
    tcgetattr(fd, &options);

    /*-- Set baud rate -------------------------------------------------------*/
    if (cfsetispeed(&options, SerialBaudInterp(BaudRate))==-1)
        perror("On cfsetispeed:");
    if (cfsetospeed(&options, SerialBaudInterp(BaudRate))==-1)
        perror("On cfsetospeed:");

    //Enable the receiver and set local mode...
    options.c_cflag |= (CLOCAL | CREAD);
    options.c_cflag &= ~PARENB; /* Parity disabled */
    options.c_cflag &= …
Run Code Online (Sandbox Code Playgroud)

c linux serial-port

10
推荐指数
1
解决办法
2万
查看次数

CURL作为下载管理器,在PHP中显示多个连接和进度

我想使用PHP的CURL扩展来创建某种下载管理器,我想如果CURL允许实现我正在考虑的这两个功能:

1)多个连接或多部分下载,就像普通的桌面应用程序下载管理器一样.

2)不断更新屏幕(文本或图形,无关紧要)下载进度.

CURL for PHP是否允许这样做?如果是这样,请注意提供一些提示?

php curl download

7
推荐指数
2
解决办法
8170
查看次数