小编int*_*tor的帖子

正则表达式只验证自然数?

我最近发现我用来验证用户输入的方法接受了一些我不是特别满意的值.我需要它来只接受自然数(1,2,3等),而不非数字字符.

我的方法看起来像这样:

function is_natural($str)
{
   return preg_match('/[^0-9]+$/', $str) ? false : $str;
}
Run Code Online (Sandbox Code Playgroud)

所以如果它找到除了一个完整的自然数之外的其他东西,它应该返回false.问题是,它接受类似"2.3"甚至是字符串"2.3,2.2"

php regex preg-match

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

如何使用基于范围的循环修改地图中的值?

我有一个基于for循环的范围迭代元素,foobar如下所示:

#include <map>
#include <iostream>

int main()
{
  std::map<int, int> foobar({{1,1}, {2,2}, {3,3}});

  for(auto p : foobar) 
  {
    ++p.second;
    std::cout << "{" << p.first << ", " << p.second << "} ";
  }
  std::cout << std::endl;

  for(auto q : foobar) 
  {
    std::cout << "{" << q.first << ", " << q.second << "} ";
  } 
  std::cout << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

此代码生成以下输出:

{1, 2} {2, 3} {3, 4}
{1, 1} {2, 2} {3, 3}
Run Code Online (Sandbox Code Playgroud)

第一行被修改并打印在for循环中,第二行假定打印相同的修改值.为什么输出不匹配?变化std::map只在循环范围内有效吗?有没有办法我不仅可以访问,还可以修改这些值?

本代码的运行版本可以在cpp.sh.找到 …

c++ dictionary for-loop

6
推荐指数
3
解决办法
6633
查看次数

JS:什么是'这个'强制?use-strict与此有什么关系?

我在网站上看到以下内容:

Use-strict具有优势.它消除了这种强制.如果没有严格模式,则对null或undefined的此值的引用会自动强制转换为全局.这可能导致许多头屑和拔出你的头发类型的错误.在严格模式下,引用此值null或undefined会引发错误.

这到底是什么意思?use-strict与this强制有什么关系?

javascript use-strict

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

在等待异步函数时,是否需要显式捕获并重新抛出异常?

如果我有

async function bar() {
  throw 'bar';
}
Run Code Online (Sandbox Code Playgroud)

有什么区别

async function foo() {
  await bar();
}
Run Code Online (Sandbox Code Playgroud)

async function foo() {
  try {
    await bar();
  } catch(e) {
    throw e;
  }
}
Run Code Online (Sandbox Code Playgroud)

我听说我需要在异步函数中显式捕获并重新抛出异常,但我认为这catch(e) { throw e; }是多余的(如果在再次抛出异常之前没有完成额外的处理或日志记录)。我相信其他一些语言也是如此;JavaScript 呢?

javascript asynchronous exception

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

Ruby On Rails - "未定义的方法`id'为4:Fixnum"

我最近决定users在Ruby On Rails应用程序中列出所有内容- 因为我无法弄清楚如何以其他方式列出它们,我决定使用partials.我的管理页面上有以下内容(只是连接到自己的管理控制器):

<%= render :partial => User.find(:all) %>
Run Code Online (Sandbox Code Playgroud)

然后_user.html.erb我在我的用户视图文件夹中调用了一个文件.这包含以下内容:

<ul>
<% div_for @user.object_id do %>
    <li><%= link_to user.username, user.username %></li>
<% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)

当应用程序运行并进入管理页面时,我收到以下错误:

未定义的方法`id'为4:Fixnum

它说这是因为这一行(在部分文件中):

<% div_for @user.object_id do %>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会发生这种情况(并且已经用Google搜索了几个小时才能找到结果并且只找到对我不起作用的解决方案).我认为这与我对@user实例变量的使用有关,但我不完全确定.

ruby-on-rails fixnum

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

未捕获错误:无法使用WP_Post类型的对象作为数组

我试图在我的模板文件中放置一个WordPress菜单.我发现使用wp_nav_menu不舒服,因为它输出的标记与我的静态HTML模板不兼容.我知道我可以使用自定义菜单walker类来修改wp_nav_menu的标记.但相反,我只想使用菜单名称及其相应的URL并将其放在我的模板中.为此,我使用此函数获取菜单的所有属性/属性的数组.

这是由此函数生成的代码...

我通过使用var_dump()找到它.

    Array
(
    [0] = WP_Post Object
        (
            [ID] = 20
            [post_author] = 1
            [post_date] = 2017-07-10 11:50:32
            [post_date_gmt] = 2017-07-10 10:50:32
            [post_content] = 
            [post_title] = About
            [post_excerpt] = 
            [post_status] = publish
            [comment_status] = closed
            [ping_status] = closed
            [post_password] = 
            [post_name] = about
            [to_ping] = 
            [pinged] = 
            [post_modified] = 2017-07-10 11:50:40
            [post_modified_gmt] = 2017-07-10 10:50:40
            [post_content_filtered] = 
            [post_parent] = 0
            [guid] = http://localhost/mySite/?p=20
            [menu_order] = 1
            [post_type] = nav_menu_item
            [post_mime_type] = 
            [comment_count] = 0
            [filter] = …

php wordpress wordpress-theming

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

C"睡眠"功能(大写字母"S")在Mac上有什么作用?

注意大写的"S" Sleep. Sleep大写字母"S"是一个在PC上睡眠毫秒的标准函数.在Mac OS X上,没有这样的符号.但是,Xcode链接环境似乎找到了链接它的东西.它是什么?

macos xcode sleep

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

二进制表达式的操作数无效,C

我正在处理一个函数,它接受一些值并找到值的最小值,最大值和平均值.我通过引用将所有内容传递给函数,并且当我尝试执行基本操作时遇到一些错误+,/即错误

二进制表达式的操作数无效('double*'和'double*')

void MinMaxAvg(double *pA, double *min, double *max, double *avg, int lines, double *total )
{
    for (int i=0; i<lines; i++)
    {
        if ( i==0)
        {
            min = &pA[0];
            max = &pA[0];
        }
        else
        {
            if (&pA[i] < min)
            {
                min = &pA[i];
            }

            if (&pA[i] > max)
            {
                max = &pA[i];
            }
        }

        total += &pA[i];     //<-- Errors on this line

    }

    avg = (total / lines);         // <-- Errors on this line.

}
Run Code Online (Sandbox Code Playgroud)

c

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

为什么`gsub!`返回`nil`?

我正在使用哈希映射来按位置推进角色:"a"进入"b"等等,以及大写元音.

def LetterChanges(str)
  str.to_s
  puts str
  h = ("a".."z").to_a
  i = ("b".."z").to_a.push("a")
  hash = Hash[h.zip i]
  new_str = str.downcase.gsub(/[a-z]/,hash)
  new_str.gsub!(/[aeiou]/) {|n| n.upcase }
end

LetterChanges("hello world")
LetterChanges("sentence")
LetterChanges("replace!*")
LetterChanges("coderbyte")
LetterChanges("beautiful^")
LetterChanges("oxford")
LetterChanges("123456789ae")
LetterChanges("this long cake@&")
LetterChanges("a b c dee")
LetterChanges("a confusing /:sentence:/[ this is not!!!!!!!~")
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期工作,除了示例"replace!*""123456789ae"它返回的代码nil.为什么是这样?

ruby string gsub

4
推荐指数
2
解决办法
1977
查看次数

如何将菜单添加到菜单?

我是Magento的新手; 现在我正在尝试开发一个简单的示例站点.我的问题是:我们如何在主菜单中添加页面?

menu magento content-management-system

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