小编Hal*_*rim的帖子

node.js fs.readdir递归目录搜索

有关使用fs.readdir进行异步目录搜索的任何想法吗?我意识到我们可以引入递归并调用读取目录函数与下一个目录来读取,但有点担心它不是异步...

有任何想法吗?我看过node-walk这很棒,但是不给我一个数组中的文件,比如readdir.虽然

寻找像...的输出

['file1.txt', 'file2.txt', 'dir/file3.txt']
Run Code Online (Sandbox Code Playgroud)

readdir node.js

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

我可以将C#字符串值转换为转义字符串文字

在C#中,我可以将字符串值转换为字符串文字,我会在代码中看到它吗?我想用它们的转义序列替换制表符,换行符等.

如果这段代码:

Console.WriteLine(someString);
Run Code Online (Sandbox Code Playgroud)

生产:

Hello
World!
Run Code Online (Sandbox Code Playgroud)

我想要这个代码:

Console.WriteLine(ToLiteral(someString));
Run Code Online (Sandbox Code Playgroud)

生产:

\tHello\r\n\tWorld!\r\n
Run Code Online (Sandbox Code Playgroud)

c# string escaping

187
推荐指数
10
解决办法
14万
查看次数

如何在T4模板中输出命名空间?

我有一个T4模板,用于在Visual Studio中使用TextTemplatingFileGenerator自定义工具设置的类:

<#@ template language="C#v3.5" hostspecific="True" debug="True" #>
<#
  var className = System.IO.Path.GetFileNameWithoutExtension(Host.TemplateFile);
  var namespaceName = "MyNamespace";
#>

namespace <#= namespaceName #>
{
    public static class <#= className #>
    {
        // some generated code
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在Visual Studio中获取"自定义工具命名空间"属性的值,因此我不必对命名空间进行硬编码?

我甚至会对C#项目的默认命名空间感到满意.

c# t4 code-generation visual-studio

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

如何使用Swift将Float制服传递给iOS Metal着色器?

我想把一个浮子传递给我的金属着色器.我无法弄清楚如何.

这是我的着色器:

vertex float4 model_vertex(unsigned int iid[[instance_id]]
                           constant float angle) {
    float number = float(iid) / 64.0;
    return float4(number * sin(angle), number * cos(angle), 0.0, 1.0);
}
Run Code Online (Sandbox Code Playgroud)

现在我想将它传递给着色器:

let renderPassDescriptor = MTLRenderPassDescriptor()
let renderEncoder = commandBuffer.renderCommandEncoderWithDescriptor(renderPassDescriptor)
// ...
let angle: Float = 0.5
renderEncoder.setUniform1(angle) // What do I do here?
Run Code Online (Sandbox Code Playgroud)

如何传递单个浮点值?

ios swift metal

9
推荐指数
2
解决办法
3774
查看次数

如何在WPF Viewbox中保留常量FontSize?

我有Viewbox一些TextBlocks被缩放和定位完美的s ViewBox.像这样的东西:

<Viewbox Stretch="Uniform">
    <Canvas Width="100" Height="100">
        <Ellipse Width="100" Height="100" Stroke="Black"/>
        <TextBlock Width="100" TextAlignment="Center" FontSize="12">Top Center</TextBlock>
    </Canvas>
</Viewbox>
Run Code Online (Sandbox Code Playgroud)

如果用户调整大小,Viewbox其内容将完美缩放以匹配.但是我想保持FontSize12,不管实际的大小Viewbox.

我怎样才能做到这一点?我可以在XAML中执行此操作而不附加Resize事件吗?

wpf xaml resize font-size viewbox

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

如何使用Swift从Metal纹理中读取半精度浮点数?

My Metal计算内核写入格式为MTLPixelFormat.RG16Float的纹理,半精度浮点数.这是因为Metal不支持写入32位浮点纹理.

我需要在我的swift程序中读取这些半精度数字吗?我已将纹理移动到Swift UInt8数组中,但我无法弄清楚如何将半精度浮点数转换为Swift浮点数.

ios swift metal

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

是否可以将C#double [,,]数组转换为double []而无需复制

我的.NET应用程序中有大量的3D数组.我需要将它们转换为1D数组以将其传递给COM库.有没有办法转换数组而不复制所有数据?

我可以像这样进行转换,但后来我使用了两倍的内存量,这是我的应用程序中的一个问题:

  double[] result = new double[input.GetLength(0) * input.GetLength(1) * input.GetLength(2)];
  for (i = 0; i < input.GetLength(0); i++) 
    for (j = 0; j < input.GetLength(1); j++) 
      for (k = 0; k < input.GetLength(2); k++) 
        result[i * input.GetLength(1) * input.GetLength(2) + j * input.GetLength(2) + k)] = input[i,j,l];
  return result;
Run Code Online (Sandbox Code Playgroud)

.net c# arrays

5
推荐指数
2
解决办法
8144
查看次数

我如何在F#中进行卷积?

我想用离散滤波器对离散信号进行卷积.信号和滤波器是F#中的浮点序列.

我可以弄清楚如何做的唯一方法是使用两个嵌套的for循环和一个可变数组来存储结果,但它感觉不是很有用.

这是我如何做到非功能性:

conv = double[len(signal) + len(filter) - 1]
for i = 1 to len(signal)
  for j = 1 to len(filter)
    conv[i + j] = conv[i + j] + signal(i) * filter(len(filter) - j) 
Run Code Online (Sandbox Code Playgroud)

f# signal-processing convolution

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

我可以从Metal着色器获取缓冲区的大小吗?

在我用Swift编写的iOS应用中,我生成了一个Metal缓冲区,其中包含:

vertexBuffer = device.newBufferWithBytes(vertices, length: vertices.count * sizeofValue(vertices[0]), options: nil)
Run Code Online (Sandbox Code Playgroud)

并将其绑定到我的着色器程序:

renderCommandEncoder.setVertexBuffer(vertexBuffer, offset: 0, atIndex: 1)
Run Code Online (Sandbox Code Playgroud)

在用Metal着色语言编写的着色器程序中,可以访问缓冲区的大小吗?我想访问缓冲区中的下一个顶点以进行一些差分计算。就像是:

vertex float4 my_vertex(const device packed_float3* vertices [[buffer(1)]],
                         unsigned int vid[[vertex_id]]) {
    float4 vertex = vertices[vid];
    // Need to clamp this to not go beyond buffer, 
    // but how do I know the max value of vid? 
    float4 nextVertex = vertices[vid + 1]; 
    float4 tangent = nextVertex - vertex;
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我唯一的选择是将顶点数量统一传递吗?

ios metal

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

如何根据用户电子邮件域创建 Firestore 规则?

我想使用经过身份验证的用户的电子邮件域来限制对 firestore 中信息的访问。

我能弄清楚如何做到这一点的唯一方法是这样的:

match /organization-secrets/{org} {
    allow read: if request.auth.email.split('@')[1] == org
}
Run Code Online (Sandbox Code Playgroud)

由于电子邮件地址可以有多个@,因此很容易被类似以下内容的电子邮件欺骗:

hacker@bigcorp.com@h4xxor.net
Run Code Online (Sandbox Code Playgroud)

还有另一种方法可以限制基于域的访问吗?

google-cloud-firestore

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