标签: local

lua:本地函数调用本地字符串 - > nil

我得到了这个代码,其中"call_name"似乎保持为零.

function mdbTest(conf)
  if conf.m_string:sub(6,9) == "MBUS" then
      local print_name, call_name = "MBUS","mbus"
  else
      local print_name, call_name = "MDB","mdb"
  end

  local port_handler = rawio.open(string.format("/dev/%s",call_name))
end
Run Code Online (Sandbox Code Playgroud)

最后,这不是一个真正的问题,因为我可以将call_name设为public,但我想知道为什么会这样.有人可以解释一下吗?

谢谢.

null string.format lua local

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

在类范围内声明一个与类属性同名的局部变量

在观察另一个人的代码时,我意识到在A类的方法中,他声明了一个与A类属性同名的本地int.例如:

//classA.h

class A{
    int Data;

    void MethodA();
};
Run Code Online (Sandbox Code Playgroud)

//classA.cpp

#include "classA.h"

using namespace std;

void A::MethodA(){
    int Data; //local variable has same name as class attribute

    Data = 4;

    //Rest of Code
}
Run Code Online (Sandbox Code Playgroud)

我发现很奇怪编译器会在不返回错误的情况下接受它.在上述情况下,是否将4分配给本地数据或A :: Data,以及在更复杂的情况下会导致哪些问题?

c++ variables attributes class local

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

使用参数初始化本地静态

鉴于C++ Primer对本地静态对象的描述:

拥有一个本地变量可能很有用,该变量的生命周期会持续调用该函数.我们通过将局部变量定义为静态来获取此类对象.在第一次执行通过对象的定义之前,将初始化每个本地静态对象.当函数结束时,不会破坏局部静态; 它们在程序终止时被销毁.

我惊讶地发现以下代码编译良好,具有合理的输出:

#include <iostream>
using namespace std;

void test(int x){

    static int y = x;
    cout << y;

}

int main(){

    test(2);
    test(5);
    test(6);

}
Run Code Online (Sandbox Code Playgroud)

通过这样的描述,似乎使用函数参数进行初始化是不可能的或没有多大意义,它如何y在执行通过函数之前初始化,它将如何知道它是什么x?这是C++ Primer的过度简化,还是我的程序可能出现编译器无法检测到的错误?

对于那些想知道为什么我可能尝试使用参数初始化静态变量的人,我试图创建一个函数,用于default_random_engine在每次调用时返回所提供范围内的随机整数(因此需要static因此对象不是销毁)作为C++ Primer的另一个练习的一部分:

unsigned randomUns(unsigned minV, unsigned maxV, default_random_engine::result_type seed = 0){

    static default_random_engine e(seed);
    static uniform_int_distribution<unsigned> u(minV, maxV);

    return u(e);
}
Run Code Online (Sandbox Code Playgroud)

c++ static local c++11

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

如何在 Ruby 中生成本地服务器

我想通过 Ruby 在我的 LAN 上生成(我不喜欢创建单词)本地服务器(如 localhost/8000),我研究了 ? 互联网,但我无法做到。我的目标是在本地服务器中显示 html 页面,使用 Ruby。我怎样才能做到?

require 'socket'
Run Code Online (Sandbox Code Playgroud)

我在标准库中使用套接字,但在刷新页面时出现错误。

require 'socket' 
server = TCPServer.new('localhost', 2345)
loop do
  socket = server.accept
  request = socket.gets
  STDERR.puts request
  response = "Hello World!\n"
  socket.print "HTTP/1.1 200 OK\r\n" +
           "Content-Type: text/plain\r\n" +
           "Content-Length: #{response.bytesize}\r\n" +
           "Connection: close\r\n"

  socket.print "\r\n"
  socket.print response
  socket.close
end
Run Code Online (Sandbox Code Playgroud)

html ruby ruby-on-rails local server

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

通过 Powershell 为本地用户组设置 PasswordNeverExpires 标志

我需要能够更改本地用户组属性区域中的 PasswordNeverExpires 选项。

用户属性示例

我已经知道我将不得不使用一个标志来执行文章中所述的操作:

如何使用 UserAccountControl 标志来操作用户帐户属性

我如何能够通过 Powershell 脚本定位有问题的用户?

谢谢

passwords powershell local

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

全局范围内的局部变量Lua

所以,假设我有一个lua文件,在顶部,我在任何函数之外定义一个变量,但我把它称为本地

local x = 1
Run Code Online (Sandbox Code Playgroud)

那个本地x和一个全局x之间有什么区别吗?

lua scope global local love2d

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

在本地环境中在 Laravel 5.4 中发送邮件时,预期响应代码为 220,但收到代码“500”

我正在将 Laravel 5.0 应用程序迁移到 5.4 并尝试在我的本地环境中测试邮件。为此,我一直使用Anitix SMTP Imposter。这是我的邮件配置在我的 .env 中的样子:

MAIL_DRIVER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPT=null
Run Code Online (Sandbox Code Playgroud)

这一直适用于所有以前版本的 Laravel(4、4.2、5.0),但突然使用 5.4 我收到以下错误:

AbstractSmtpTransport.php 第 383 行中的 Swift_TransportException:预期响应代码为 220,但得到代码“500”,消息为“500 命令无法识别”

我试过禁用 Avast,使用Papercut等替代程序,使用 SSL 或 TLS 玩配置,但我无法弄清楚是什么导致了这种情况。有任何想法吗?

smtp local swiftmailer laravel

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

为什么这个OpenCL算法中的本地内存如此之慢?



我正在写一些OpenCL代码.我的内核应该根据输入图像创建一个特殊的"累加器"输出.我尝试了两个概念,两者同样很慢,尽管第二个使用本地内存.你能帮我解一下为什么本地内存版本这么慢吗?内核的目标GPU是AMD Radeon Pro 450.

// version one
__kernel void find_points(__global const unsigned char* input, __global unsigned int* output) {
  const unsigned int x = get_global_id(0);
  const unsigned int y = get_global_id(1);

  int ind;

  for(k = SOME_BEGINNING; k <= SOME_END; k++) {
    // some pretty wild calculation
    // ind is not linear and accesses different areas of the output
    ind = ...
    if(input[y * WIDTH + x] == 255) {
      atomic_inc(&output[ind]);
    }
  }

}

// variant two
__kernel void find_points(__global const …
Run Code Online (Sandbox Code Playgroud)

memory performance local opencl

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

自定义协议(通过 Windows 注册表)在本地文件夹和默认软件中打开文件

请阅读下面我的回答

通过在 Windows 注册表中定义自定义 URI 方案,单击 HTML 链接(在 chrome 中)时,我想在其默认软件中打开本地文件。我为注册表规则定义和我使用的链接尝试了许多不同的语法。我的默认 .reg 文件如下所示:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\test]
"URL Protocol"=""
@="URL:test Protocol"
"DefaultIcon"="\"C:\\Windows\\system32\\notepad.exe\",1"

[HKEY_CLASSES_ROOT\test\shell]

[HKEY_CLASSES_ROOT\test\shell\open]

[HKEY_CLASSES_ROOT\test\shell\open\command]
@="\"C:\\Windows\\system32\\notepad.exe\" \"%1\""
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我能找到的 %1, %*, "%1" "%2" 的每个例子......现在我只是尝试使用记事本,尽管最终我想使用 explorer.exe打开指定类型文件的默认软件。

我的 HTML 文件是:

<a href="test:C:test.txt">Open</a>
Run Code Online (Sandbox Code Playgroud)

我试过 test://C:[...]、test:///C:[...],并在文件路径中使用斜杠和反斜杠。

使用上述 2 个版本,记事本打开,但我收到“文件名、目录名或卷标语法不正确”。(我将我的文件放在 C 驱动器根目录中以确保避免使用任何特殊字符)

另外,如果我定义文件的直接路径而不是参数字符串:@="\"C:\Windows\explorer.exe\" \"C:\test.txt\"" ,文件打开没有任何问题.

我究竟做错了什么 ?有没有办法查看作为参数接收的字符串?

更新 我修改了注册表项以使用回显命令调用一个简单的批处理文件(“C:\test.bat”%1)来查看接收到的参数(回显 %1 暂停)。默认情况下传递整个 URI(例如: "test:C:\test.txt" )。我发现如果我在方案后面放一个逗号,批处理文件会收到 2 个参数:%1="test:" & %2="C:\test.txt"。但是注册表项值仍然需要有“%1”...

“%2”在进入批处理文件之前不包含任何内容。很遗憾,我不能直接调用 '"app.exe" %2' 并且需要从 .bat 调用它,如果找到解决方案,我会更新。

windows registry protocols local url-scheme

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

本地 Dynamodb 控制台

正如标题所说,有没有办法像在 AWS 控制台上一样在本地 dynamodb 中可视化数据?这对我来说似乎是缺点之一,因为使用 localhost:8000/shell(默认端点)并进行需要设置属性等的扫描。

local amazon-web-services amazon-dynamodb

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