问题列表 - 第29569页

如何从Ruby脚本中打开Firefox和多个选项卡?

基于" 使用Ruby自动化脚本打开Firefox浏览器 ",我制作了一个脚本,可以在运行时打开所有常用的互联网站点,但只有在Firefox已经打开时才会这样做.如果它没有打开,它将打开一个页面,在一个选项卡上,然后在我关闭每个页面之后依次打开其余页面.

我试过sleep(5)以防它还没准备好,但那没用.

我的剧本是:

system("firefox somesite.com/")
system("firefox another.com/")
system("firefox aThirdSite.com/")
Run Code Online (Sandbox Code Playgroud)

当我运行它时,如果Firefox已经打开,它会在新选项卡中加载所有三个页面,但如果Firefox未打开,它只加载第一个页面.当我关闭Firefox时,它加载了第二个,然后,当我再次关闭它时,它加载了第三个.

有没有办法在单独的选项卡中打开Firefox到每个网站,因为Firefox在运行脚本之前已关闭?

ruby firefox

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

如何在haskell中使用常量来避免幻数?

假设我有一个从1到MAGIC_NUMBER的数字列表 - 有没有办法可以事先声明这个?

haskell constants

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

返回char*中系统函数的结果

假设我system("ps-C nautilus");如何在char*中返回此函数的结果?

谢谢.

c system

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

何时返回递归函数?

我有一个问题return和递归函数.

这再次基于我目前正在处理的二叉树.代码是

void Tree::display()
{
    if( !root_ )
        return;

    display_r(root_);
}

void Tree::display_r(Tree *node)
{
    if( 0 == node )
        return;

    display_r(node->left_);
    std::cout << node->value_ << std::endl;
    display_r(node->right_);
}
Run Code Online (Sandbox Code Playgroud)

这是工作代码.编译并运行,从最小到最大打印数字.然而,这不是曾经如此.

上面的代码首先是用

return display_r(node->left_);
std::cout << node->value_ << std::endl;
return display_r(node->right_);
Run Code Online (Sandbox Code Playgroud)

这没用.它只是返回而不打印任何东西.这是有道理的,返回不允许代码向下移动.

这让我想到了一个有趣的问题.在编写树时,我经常想知道它是否是一个return在递归函数中使用的好地方.显然,任何时候在return代码块中执行的最后一个命令都可以使用.我认为在display()函数中 使用它甚至可以

void Tree::display()
{
    if( !root_ )
        return;

    return display_r(root_);
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:我什么时候可以确定我可以使用return,什么时候不应该使用它?是否有灰色区域由我决定什么是最好的,是否有安全网?如同,"如果有疑问,不要在递归函数中使用返回值?"

谢谢!

c++ recursion

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

PHP或ASP,我应该坚持?

我已经在PHP上工作了差不多一年了.我在学术项目中使用C#.但是,这些天我收到了切换到ASP.NET/C#的提议.离开我现在的平台会有成效吗?我对开源技术的熟悉程度很高,我无法决定应该如何处理这些优惠.有什么建议?

php asp.net

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

C编程 - 打破钱

我需要分解各自账单/硬币的金额.

输出有点像这样:

到目前为止,这是我的代码:(我在最后几个代码中注释了一个'因为错误来自那里)

  { 
  int x,y;

  printf("Enter input: ");
  scanf("%d",&x);

  y=x/1000;
  printf("\n# of $1000 bill: %d",y);
  x = x%1000;

  y=x/500;      
  printf("\n# of 4500 bill: %d",y);    
  x = (x%500);

  y=x/200;
  printf("\n#. of $200 bill: %d",y);    
  x = (x%200);

  y=x/100;
  printf("\n# of $100 bill: %d",y);    
  x = (x%100);

  y=x/50;
  printf("\n# of $50 bill: %d",y);    
  x = (x%50);

  y=x/20;
  printf("\n# of $20 bill: %d",y);    
  x = (x%20);

  y=x/10;
  printf("\n#. of $10 coin: %d",y);    
  x = (x%10);

  y=x/5;
  printf("\n#. of $5 coin: %d",y);    
  x …
Run Code Online (Sandbox Code Playgroud)

c

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

最小宽度,最大宽度,宽度.在身体标签的IE8中没有任何作用

这是我的网页,它在IE8中不起作用,但适用于FF 3.6.4和Opera 9.63: -

<html>
    <head>
        <style type="text/css">


            body{
                max-width:10002px;
                min-width:3072px;
                width:10002px;
                margin:0px auto;
                background:#293231;
                height:100%;
                padding:0px;
            }


        </style>
    </head>
    <body >


    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

IE8中页面底部没有滚动条

html css

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

为什么线程在这个控制台应用程序中串行运行?

我正在创建一个控制台应用程序,它需要运行多个线程才能完成任务.我的问题是线程一个接一个地运行(thread1 start - > work - > end,然后只运行thread2)而不是同时运行所有线程.此外,我不希望超过10个线程同时工作(性能问题).Bellow是控制台应用程序和使用的数据模块的示例代码.我的申请工作方式相同.我使用了数据模块,因为在线程完成后我必须用这些信息填充数据库.在代码中也有注释,这是做某事的原因.

app控制台代码:

    program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Unit1 in 'Unit1.pas' {DataModule1: TDataModule};

var dm:TDataModule1;
begin
   dm:=TDataModule1.Create(nil);
   try
     dm.execute;
   finally
    FreeAndNil(dm);
   end;
end.
Run Code Online (Sandbox Code Playgroud)

和数据模块代码

    unit Unit1;

interface

uses
  SysUtils, Classes, SyncObjs, Windows, Forms;

var   FCritical: TRTLCriticalSection;//accessing the global variables  

type
  TTestThread = class(TThread)
  protected
    procedure Execute;override;
  end;
  TDataModule1 = class(TDataModule)
    procedure DataModuleCreate(Sender: TObject);
    procedure DataModuleDestroy(Sender: TObject);
  private
    { Déclarations privées }
  public

    procedure execute;
    procedure CreateThread();
    procedure Onterminatethrd(Sender: TObject);
  end;

var
  DataModule1       : …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading critical-section

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

使用jQuery检查页面加载的所有复选框

在页面加载时,使用jQuery如何自动选择特定div中的所有复选框?

javascript checkbox jquery

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

Moq:如何清除对模拟对象的期望?

一个例子 - 我想测试狙击手只通知视图添加的项目。

[Test]
    public void NotifiesViewOfLoss_IfCloseEventReceivedForSnipedItems()
    {
        _sniper.AddItem(TestConstants.ItemNo54321);
        _sniper.AddItem(TestConstants.ItemNo65432);

        _sniper.AuctionClosedFor(TestConstants.ItemNo65432);
        _mockView.Verify(view => view.UpdateStatus(TestConstants.ItemNo65432, AuctionSniperStatus.Lost));

        _sniper.AuctionClosedFor(TestConstants.ItemNo54321);
        _mockView.Verify(view => view.UpdateStatus(TestConstants.ItemNo54321, AuctionSniperStatus.Lost));

        _sniper.AuctionClosedFor(7);

        // doesn't work
        //_mockView.Verify(view => view.UpdateStatus(It.IsAny<int>(), It.IsAny<AuctionSniperStatus>()),
        //                Times.Never() );
    }
Run Code Online (Sandbox Code Playgroud)

Times.Never 行不工作 - 因为它匹配较早的调用之一。我知道还有其他选择:

  • 设置一个新的期望,如果被调用则抛出(如上所示)
  • 比如指定 7 而不是 IsAny()
  • 将测试分成 2 个测试

unit-testing moq

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