小编Gar*_*hby的帖子

从C#中的组件部分构建目录字符串

如果我有许多目录名称作为文字字符串或包含在变量中,那么将这些目录组合在一起以形成完整路径的最简单方法是什么?

我知道

Path.Combine
但这只需要2个字符串参数,我需要一个可以采用任意数量目录参数的解决方案.

例如:

string folder1 = "foo";
string folder2 = "bar";

CreateAPath("C:", folder1, folder2, folder1, folder1, folder2, "MyFile.txt")

有任何想法吗?C#是否支持方法中的无限args?

c# filesystems string-building

6
推荐指数
2
解决办法
5144
查看次数

是否有任何工作要创建一个C#编译器来生成本机exe?

是否有任何工作要创建一个C#编译器来生成本机exe?例如,输出是本机exe而不是.NET程序集.

c# compiler-construction exe native

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

在D中使用std.regex库,你如何匹配一个点?

这可能听起来像一个愚蠢的问题,但在D(使用std.regex)你如何匹配字符串中的文字点?

使用此代码我正在检查文件扩展名.bmp,所以我执行一个简单的正则表达式匹配.如果我试图逃避这样的点我得到一个错误.

Regex!char Pattern = regex("\.bmp$", "i");

if (match(FileName, Pattern).empty)
{
    FileName ~= ".bmp";
}
Run Code Online (Sandbox Code Playgroud)

Error: Undefined escape sequence \.

即使在文档中也没有提到匹配的点.

有任何想法吗?

regex d

6
推荐指数
2
解决办法
274
查看次数

如何使用Objective-C在Mac OS X上获取用户文件夹的位置

如何使用目标c在mac os中获取文件的位置?

/Users/objc/Downloads/x.pdf

这个基础课程是什么?

请给我一些示例代码.

objective-c

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

正确(最佳实践?)程序与远程Mercurial存储库保持同步?

作为Subversion的前用户,我们决定转向Mercurial进行SCM,这让我们感到困惑.虽然Mercurial是一个分布式SCM工具,但我们使用远程仓库来保持我们在服务器上备份的更改,但我们发现了一些问题.

例如,当我们两个或三个人在我们的本地仓库上工作时,我们提交然后推送到远程仓库,我们发现创建了很多头(?).这混淆了我们的地狱,我们不得不做一些合并等来解决它.

什么是避免这么多头脑并使远程仓库与许多开发人员保持同步的最佳方法?

今天,我一直在这样工作:

  1. 更改文件.
  2. 从远程仓库拉出来.
  3. 更新本地工作副本.
  4. 合并?(为什么?)
  5. 将我的更改提交给本地仓库.
  6. 推送到远程仓库.

这是最好的进程吗?

虽然这在今天运作良好,但我不禁感到我做错了!说实话,我不明白为什么合并甚至需要在拉动阶段完成,因为其他人正在处理不同的文件?

除了告诉我RTFM你有任何使用Mercurial的提示是这样的吗?有什么好的在线资源可以获得有关我们为何如此多头的信息?

注意:我已经阅读了手册,但它并没有提供太多细节,我不认为我想在一分钟开始另一本书.

merge mercurial

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

我在哪里可以阅读有关D类访问修饰符的更多信息?

我似乎无法为D编程语言类访问修饰符找到一个很好的参考.

我知道public并且private非常有保证,但我猜还有更多,我似乎无法找到一个很好的信息来源.

有人能指点我好参考吗?

d access-modifiers

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

在PHP中测试UTF8字符串,这是一种可靠的方法吗?

我在另一个答案中找到了一个有用的功能,我想知道是否有人可以向我解释它在做什么以及它是否可靠.我正在使用mb_detect_encoding()但是在从Linux操作系统上的ISO8859-1文件中读取时它已被删除.

这个功能似乎适用于我测试过的所有情况.

这是一个问题:获取文件编码

这是功能:

function isUTF8($string){
    return preg_match('%(?:
    [\xC2-\xDF][\x80-\xBF]              # Non-overlong 2-byte
    |\xE0[\xA0-\xBF][\x80-\xBF]         # Excluding overlongs
    |[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # Straight 3-byte
    |\xED[\x80-\x9F][\x80-\xBF]         # Excluding surrogates
    |\xF0[\x90-\xBF][\x80-\xBF]{2}      # Planes 1-3
    |[\xF1-\xF3][\x80-\xBF]{3}          # Planes 4-15
    |\xF4[\x80-\x8F][\x80-\xBF]{2}      # Plane 16
    )+%xs', $string);
}
Run Code Online (Sandbox Code Playgroud)

这是检测UTF8字符串的可靠方法吗?到底是做什么的?它可以变得更强大吗?

php string utf-8

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

是否可以使用PHP CLI来生成* .sh文件并在PHP脚本中访问导出的Env变量?

我通常在这样的Linux上的bash终端中获取* .sh文件

. ./myscript.sh
Run Code Online (Sandbox Code Playgroud)

在运行命令行PHP脚本之前,我可以使用PHP的$ _SERVER super global访问导出的环境变量。

是否可以从PHP脚本本身中获取sh文件,然后访问其导出的变量?

我尝试了各种尝试都没有成功。我试过了

system('. ./myscript.sh')
system('sh ./myscript.sh')

exec('. ./myscript.sh')
exec('sh ./myscript.sh')

shell_exec('. ./myscript.sh')
shell_exec('sh ./myscript.sh')
Run Code Online (Sandbox Code Playgroud)

使用这些,导出的变量不会出现在$ _SERVER中。

有任何想法吗?

php exec environment-variables

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

我在哪里可以找到所有窗口管理器协议原子的列表?

我在哪里可以找到所有窗口管理器协议原子的列表?

我有这几个:

  • WM_DELETE_WINDOW
  • WM_SAVE_YOURSELF
  • WM_TAKE_FOCUS

它们通常用于在 Python 的 Tkinter 中以以下样式接收窗口管理器事件:

widget.protocol("WM_DELETE_WINDOW", handler)
Run Code Online (Sandbox Code Playgroud)

我在哪里可以获得这些的完整列表?

python window-managers protocols tkinter

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

是否存在支持单个字符串中的多个语句的Go Mysql驱动程序?

我正在尝试找到一个可以与Go一起使用的MySql驱动程序,它支持在一次调用中发出多个SQL语句.例如,我可能希望使用以下SQL创建数据库:

DROP SCHEMA IF EXISTS foo;
CREATE SCHEMA IF NOT EXISTS foo;
Run Code Online (Sandbox Code Playgroud)

在PHP等语言中,您可以将两个SQL语句放在一个字符串中并一次执行,如下所示:

$db = new PDO(...);
$db->query("DROP SCHEMA IF EXISTS foo; CREATE SCHEMA IF NOT EXISTS foo;");
Run Code Online (Sandbox Code Playgroud)

我需要这个的原因是因为我有SQL转储(从mysqldump)我想以编程方式应用于各种数据库.

我在Go中寻找相同的功能,但似乎所有不同的驱动程序都不支持它,坦率地说,这让我感到震惊.

Go-MySQL-Driver
https://github.com/go-sql-driver/mysql
这似乎是Go最常用的驱动程序.

package main

import "database/sql"
import "log"
import _ "github.com/go-sql-driver/mysql"

func main() {

    db, err := sql.Open("mysql", "user:password@(127.0.0.1:3306)/")
    if err != nil {
        log.Println(err)
    }

    sql := "DROP SCHEMA IF EXISTS foo; CREATE SCHEMA IF NOT EXISTS foo;"
    _, err = db.Exec(sql)
    if err …
Run Code Online (Sandbox Code Playgroud)

mysql driver go

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