问题列表 - 第15072页

为什么我不会在大多数高级语言中看到管道运营商?

在Unix shell编程中,管道操作符是一个非常强大的工具.使用一小组核心实用程序,系统语言(如C)和脚本语言(如Python),您可以构建极其紧凑且功能强大的shell脚本,这些脚本由操作系统自动并行化.

显然这是一个非常强大的编程范例,但我没有看到管道作为除shell脚本之外的任何语言的一流抽象.使用管道复制脚本功能所需的代码似乎总是非常复杂.

所以我的问题是为什么我在C#,Java等现代高级语言中看不到类似于Unix管道的东西?是否有支持一流管道的语言(除了shell脚本)?表达并发算法不是一种方便安全的方法吗?

为了防止有人提起它,我查看了F#管道转发操作符(前向管道操作符),它看起来更像是一个函数应用程序操作符.它将函数应用于数据,而不是将两个流连接在一起,据我所知,但我愿意进行更正.

后记:在做一些关于实现协同程序的研究时,我意识到有一些相似之处.在一篇博客文章中,马丁·沃尔夫描述了一个类似于我的问题,但在协程而不是管道方面.

language-agnostic shell concurrency programming-languages pipe

42
推荐指数
5
解决办法
5228
查看次数

找到列表中不存在的最小整数

我的一位同事使用的一个有趣的访谈问题:

假设您有一个非常长的未排序的无符号64位整数列表.您如何找到列表中未出现的最小非负整数?

后续行动:现在已经提出了通过排序的明显解决方案,你能比O(n log n)更快地完成吗?

FOLLOW-UP:您的算法必须在具有1GB内存的计算机上运行

澄清:列表在RAM中,但它可能会消耗大量的内容.您将提前获得列表的大小,例如N.

arrays algorithm

84
推荐指数
7
解决办法
4万
查看次数

任何基于XML的TEX替代品?

当我开始了解TEX时,我发现它是一种破坏性的语言.我认为任何基于XML的替代方案都可以更好地完成工作.每个人都不会有学习TEX的麻烦.我觉得这很费时间.有没有人知道这样的基于XML的替代方案?如果那个东西和XML(具有相同的元素或者一个可以转换为另一个)之间存在兼容性,那将是很好的.

xml tex

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

在Qt的组合框中添加QObject

我有一个我创建的自定义类,比如MyClass.现在,如何在下面的组合框中添加对MyClass引用的引用作为第二个参数:

this-> ui-> comboBox-> addItem("item-1",);

目的是当项目更改甚至被触发时,我想获得MyClass的特定类实例并相应地处理.

qt qcombobox qobject

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

如何在Java中将字节转换为long?

我正在从硬件设备读取8个字节的数据.我需要将它们转换为数值.我想我想将它们转换为长度,因为它应该适合8个字节.我对Java和低级数据类型操作不是很熟悉.我似乎有两个问题(除了几乎没有相关硬件的文档),字节期望是无符号的,所以我不能进行直接整数转换.我不确定它们是什么字节序.

任何意见,将不胜感激.


结束了这个(取自一些源代码,我可能应该在一周前阅读):

public static final long toLong (byte[] byteArray, int offset, int len)
{
   long val = 0;
   len = Math.min(len, 8);
   for (int i = (len - 1); i >= 0; i--)
   {
      val <<= 8;
      val |= (byteArray [offset + i] & 0x00FF);
   }
   return val;
}
Run Code Online (Sandbox Code Playgroud)

java

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

C++简单文件读取

我有一个名为f1.txt的文件,其内容为75 15 85 35 60 50 45 70

这是我读取每个整数并打印它们的代码.

#include <iostream>
#include <fstream>

using namespace std;
int main(int argc, char *argv[])
{
  fstream file("f1.txt", ios::in);
  int i;
  while(!file.eof()) {
    file >> i;
    cout << i << " ";
 }

return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是当我编译并运行程序时,输出是75 15 85 35 60 50 45 70 70.为什么它读取最后一个整数两次?有线索吗?

c++

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

复制MySQL数据库的最简单方法?

有没有人知道将数据库从一台计算机复制到一个文件,然后将其导入另一台计算机的简单方法?

mysql sql database

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

在JavaScript中执行继承

虽然我知道你不能像在C#中那样执行继承,但我已经看到它在互联网上提到它有可能.如果使用普通的JavaScript代码是不可能的话那么可以使用Ext JS吗?如果可以的话怎么样?

javascript inheritance extjs prototypal-inheritance

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

我可以使用哪些Windows C IDE将使用gcc进行编译,让我像Visual Studio一样为C#插入断点?

我可以使用哪些Windows C IDE将使用gcc进行编译,让我像Visual Studio一样为C#插入断点?

我搜索过Google,但在2005年找不到更新的内容.

我刚刚毕业回到C,并希望使用GCC的非MS IDE,但这是一个多功能的Visual Studio.

必须使用GDB命令行的想法现在不太吸引人.

c ide gcc

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

SQL Server 2005 Xquery命名空间

我试图从Xml数据类型中获取一些值.数据看起来像:

<Individual xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <FirstName xmlns="http://nswcc.org.au/BusinessEntities.Crm">Lirria</FirstName>
    <LastName xmlns="http://nswcc.org.au/BusinessEntities.Crm">Latimore</LastName>
</Indvidual>
Run Code Online (Sandbox Code Playgroud)

注意元素FirstName和LastName中是否存在xmlns - 这是在我们通过序列化ac#业务对象创建xml时添加的.无论如何,似乎元素中存在这个命名空间会导致XQuery表达式失败,例如:

SELECT MyTable.value('(//Individual/LastName)[1]','nvarchar(100)') AS FirstName
Run Code Online (Sandbox Code Playgroud)

返回null.但是当我从xml中的元素中删除命名空间时(例如,使用Replace T-SQL语句),上面返回一个值.但是必须有更好的方法 - 是否有一种方法可以使这个查询工作,即不首先更新xml?

谢谢

约翰戴维斯

xml sql-server xquery sql-server-2005

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