小编AZ.*_*AZ.的帖子

如何更改ruby 2d阵列中的一个单元格?

有人可以解释一下吗?

def digit_block(size = 1)
  col = 2 + 1*size
  row = 1 + 2*size
  r = []
  for i in 0...col
    r.push ' '
  end
  a = []
  for i in 0...row
    a.push r
  end
  a
end

block = digit_block
puts block.inspect
block[1][2] = 'x'
puts block.inspect
Run Code Online (Sandbox Code Playgroud)

输出:

[[" ", " ", " "], [" ", " ", " "], [" ", " ", " "]]
[[" ", " ", "x"], [" ", " ", "x"], [" ", " …
Run Code Online (Sandbox Code Playgroud)

ruby

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

如何在VIM中用缓冲区中的文本替换整行?

这是我正在处理的文本:

第1行:网站=“a.com”;
...
第3行:网站=“b.com”;
...
第5行:网站=“c.com”;

假设我想将所有网站更改为“stackoverflow.com”,我可以这样做:
- 将“a.com”更改为“stackoverflow.com”
- 拉出整行(Y)
- 转到第 3 行,点击 p、k、dd从缓冲区粘贴并删除旧的“b.com”行。

现在的问题是,由于 dd 将“b.com”放入缓冲区,要替换第 5 行,我将不得不再次拉动整行。
有什么简单的方法可以让我快速用已经拉扯的线替换 line3 和 line5 吗?

更新:
感谢您的答案,现在有几种方法可以做到这一点:删除到黑洞、从命名缓冲区中提取等。我发现这是我最喜欢的方法(我使用键 R 而不是 r,因为有时我需要替换单个字符):

在 Vim 中,有没有一种方法可以在不将文本放入寄存器的情况下进行删除?

我在下面放置了一些类似问题的链接:

如何在 Vim 中删除(所需文本)、删除(不需要的文本)和粘贴(所需文本) 在 Vim 中,
有没有一种方法可以删除而不将文本放入寄存器?

vim

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

我是否明确地抛出异常?

说我有以下方法:

void UpdateContentMethodA(Int32[] src, Int32[] dst)
{
    for(int i=0; i<src.Length; i++)
    {
        dst[i] = src[i];
    }
}

void UpdateContentMethodB(Int32[] src, Int32[] dst)
{
    if(src == null || dst == null) throw new System.ArgumentNullException();
    if(src.Length != dst.Length) throw new System.IndexOutOfRangeException();

    for(int i=0; i<src.Length; i++)
    {
        dst[i] = src[i];
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否写了methodB或者你认为methodA没问题?

编辑:对不起,我对编写这些方法很懒:
这些方法仅用于演示目的,真正的代码使用不同的数据类型,异常实例在其构造函数中传递有用的消息.
我了解到,优秀的程序员应该编写好的代码,即使它仅用于演示目的.你们真棒,谢谢!

c# exception-handling exception

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

为什么.net委托赋值运算符不分配对原始委托的引用?

为什么copyOfDelegate是原始委托的副本,而不是原始委托的副本?

    public class DelegateTester
    {
        public delegate void PrintDelegate();

        public PrintDelegate PrintCallback;
    }

    public class Client
    {
        public void Print()
        {
            Console.WriteLine("in client");
        }
    }



   static void main()     
   {  
      DelegateTester tester = new DelegateTester();
      Client client = new Client();

      tester.PrintCallback += new DelegateTester.PrintDelegate(client.Print);
      tester.PrintCallback += new DelegateTester.PrintDelegate(client.Print);

      // copy the delegate
      DelegateTester.PrintDelegate copyOfDelegate = tester.PrintCallback;
      tester.PrintCallback -= new DelegateTester.PrintDelegate(client.Print);

      tester.PrintCallback();
      copyOfDelegate.Invoke();
    }
Run Code Online (Sandbox Code Playgroud)

c# delegates

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

当函数返回时,变量是否会超出范围?

void main()
{
    File f;
    DoSomething(f);
    DoSomething2(&f);
}

void DoSomething(File& f)
{
    f.Process();
} // will f go out of scope when this function returns?

void DoSomething2(File* f);
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 如注释中所示,当函数返回时,f是否会超出范围?
  2. 你建议用引用或指针写函数吗?(我说的是私人功能)

c++ scope

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

当我访问控制器中的不同操作时,实例变量会重置吗?

我认为@user是一个实例变量,应该在访问 后设置localhost://users/1,现在如果我导航到localhost://users/new,为什么@user是 nil?

class UsersController < ApplicationController
  def new
    # normally you would create a new model and assign it to the instance variable,
    # but if I comment it out, why is it nil instead of keeping the value from show action?
    # @user = User.new
  end

  def show
    @user = User.find(params[:id])
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

"应取消"的返回值

我有一个方法DoCleanUp(),它将要求用户继续,然后清除当前工作区.如果用户选择取消此过程,它将返回.

我的问题是,哪个签名最好表示"取消"?

  1. bool DoCleanUp(); // return false to indicate canceled.

  2. bool DoCleanUp(); // return true to indicate this method should be canceled.

  3. void DoCleanUp(bool& cancel); // check parameter 'cancel' to see if this method was canceled.

更新:至于语言,它是C++\CLI或C#.

UPDATE2:现在假设我必须在DoCleanUp方法中保存文件.我将提示对话框询问用户是否保存/取消保存/取消文件.基于答案,这是我提出的:

void DoCleanUp();

DialogResult AskToSaveFile(); // return yes/no/cancel

void DoCleanUp( bool saveFile );

用法:

void DoCleanUp()
{
    DialogResult result =  AskToSaveFile();

    if( result == DialogResult::Cancel )    return; 

    bool saveFile = (result == DialogResult::Yes) ? true : false;
    DoCleanUp( saveFile );
}
Run Code Online (Sandbox Code Playgroud)

然后通过调用DoCleanUp(),您知道用户将有机会取消;
通过调用DoCleanUp(bool …

method-signature

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

新的苹果远程应用程序有API吗?

iPhone 和 iPad 上的新苹果远程应用程序非常酷。我想知道是否有公共 API 可以使用?

由于远程应用程序不是服务器,因此它不像其他“控制iTunes”应用程序或程序。我想知道 PC/Mac 端是否公开了任何 API 或服务,以便其他应用程序可以使用它来控制 iTunes?

最终,我想构建自己的应用程序(在 iPhone 上)或 PC 程序来控制 iTunes。

iphone

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

如何在Delphi XE中打开和编译Delphi 5项目?

是否有IDE可以打开传统的Delphi 5项目?
Delphi XE似乎不支持delphi 5.

delphi delphi-5 delphi-xe

0
推荐指数
2
解决办法
4326
查看次数

SlikSvn:'svn'未被识别为cmd.exe中的内部或外部命令

电脑:Windows 7 64bit
SlikSvn已安装.系统变量PATH正确设置了bin文件夹:

 ...; C:\Program Files\SlikSvn\bin; ...
Run Code Online (Sandbox Code Playgroud)

如果我在运行对话框中键入"svn"(通过按WIN + R),我可以看到在cmd窗口中调用svn.exe.
如果我在"运行"对话框中键入"cmd",则会打开一个cmd窗口.在该窗口中,键入svn会显示错误:

 'svn' is not recognized as an internal or external command
Run Code Online (Sandbox Code Playgroud)

在cmd窗口中键入PATH comamnd会显示正确的路径,如环境变量中所示.

我甚至在其中添加了一个新的系统变量"SVNPATH"和"C:\ Program Files\SlikSvn\bin",但它既不起作用.

有没有人有办法解决吗?

svn cmd path

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

将.net 2 winforms更新为.net 4现在它受到了UAC的影响

我的winforms .net 2程序在Windows 7中运行正常,UAC打开.程序读/写c:/program files文件夹.
将程序更新为目标.net 4后,同一程序受UAC影响,无法读取/写入c:/program files.我得到UnauthorizedAccessException.

知道读/写是一种不好的做法,c:/program files但我想知道导致这种行为的原因是什么?

.net uac winforms

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