小编Tom*_*aps的帖子

在ruby中调试第三方gem的最佳方法

由于ruby gem中可能有很多Ghost方法,我认为仅仅通过静态读取源代码来研究ruby gem的内部机制并不是一个好主意.有没有办法将第三方gem的源文件附加到正在运行的ruby进程进行调试,以便我可以设置断点并查看动态如何工作?
顺便说一下,我已经尝试通过点击'require'语句的上下文菜单"Go To-> Implementations"或第三方gem的其他符号来导航到RubyMine中第三方gem的源文件(require 'watir'for例子),没有成功.对于像Ruby这样的动态类型语言的IDE来说,符号导航失败是正常的吗?

ruby ide debugging

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

如何构建rubygems镜像服务器?

我的工作场所禁止我们上网,因此我们无法连接到rubygems.org远程安装宝石.

我可以在家里访问rubygems.org.有没有一种简单的方法可以让我下载和更新我们在家需要的宝石,然后将它们(通过便携式硬盘或somthing)同步到我工作场所的本地gems镜像服务器,以便其他同事可以从该镜像服务器安装宝石?

ruby rubygems ruby-on-rails

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

Marshal.GetActiveObject()在C#中抛出MK_E_UNAVAILABLE异常

以下vbscript代码完美地工作:

Dim App 
Set App = GetObject("","QuickTest.Application")
App.Quit
Run Code Online (Sandbox Code Playgroud)

但是当我将它翻译成C#代码时,如下所示:

class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        object qtApp = Marshal.GetActiveObject("QuickTest.Application");
        (qtApp as QuickTest.Application).Quit();
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到了例外:

mscorlib.dll中发生未处理的"System.Runtime.InteropServices.COMException"类型异常

附加信息:( HRESULT异常:0x800401E3(MK_E_UNAVAILABLE))

我不认为问题与ROT有关,因为vbscript代码有效.那么C#代码有什么问题?

c# com-interop

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

从控制台应用程序重新打开WPF窗口

我想从Console应用程序打开一个WPF窗口.在提到这篇文章后,它运作正常.

问题是:当用户关闭WPF窗口(手动)时,不能再从控制台重新打开它,抛出异常消息:"不能在同一个AppDomain中创建多个System.Windows.Application实例."

这是代码:

class Program
    {
        static void Main(string[] args)
        {
            string input=null;
            while ((input = Console.ReadLine()) == "y")
            {
                //Works fine at the first iteration,
                //But failed at the second iteration.
                StartWpfThread();
            }
        }
        private static void OpenWindow()
        {
            //Exception(Cannot create more than one System.Windows.Application instance in the same AppDomain.)
            //is thrown at the second iteration.
            var app = new System.Windows.Application();
            var window = new System.Windows.Window();
            app.Run(window);
            //User  closes the opened window manually.
        }
        private static void …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf console-application winforms

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

如何有效地使用Emacs的自我记录系统?

我是Emacs的新手.我打算学习如何关闭缓冲区,所以我输入了M-x apropos-documentation RET close buffer.然后我收到了很多无用的信息.

鉴于上述情况,使用自我记录系统找到我想知道的正确方法是什么?

或者自我记录系统在现代与谷歌相比毫无用处?

emacs

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

如何在ruby中扩展数组方法?

这是我的代码:

class Array
    def anotherMap
         self.map {yield}
    end
end

print [1,2,3].anotherMap{|x| x}
Run Code Online (Sandbox Code Playgroud)

我期望得到[1,2,3]的输出,但我得到[nil,nil,nil]
我的代码出了什么问题?

ruby

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

Cocoa是Mac在Windows中与Win32 API或MFC等效吗?

Cocoa下面的API是否低于MFC下的Win32 API?如果有,它是否广泛用于Mac OS X或iOS Application develepment?

windows macos cocoa

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

是否可以将文本从另一个应用程序推送到Emacs的当前缓冲区?

我想创建一个可以像这样使用的命令行应用程序:

$push_to_emacs_buffer "some text"

然后,当前运行的Emacs将附加some text到其当前的活动缓冲区中.

有关如何实现这一点的任何想法?

emacs

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

有没有办法在Vim中引用命令中当前选定的文本?

在我的C头文件中说我想包含另一个尚未创建的文件:

#include "AnotherFile.h" /*not being created yet*/
Run Code Online (Sandbox Code Playgroud)

现在,我在Visual Mode中选择文件,
#include" AnotherFile.h"

如何使用我选择的名称创建一个新文件?我的意思是,

:e  {something that  refers to what I selected} 
Run Code Online (Sandbox Code Playgroud)

vim

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

如何在Vim中的:e命令之后获取函数的返回值

我写了一个函数来获取光标下当前文件的完整路径

nmap <F12> :echo GetFullPath()<cr>
function! GetFullPath()
    let currentFile=expand("<cfile>")
    let afterChangeSlash=substitute(currentFile,"/","\\","g")
    let fullPath="e:\\Test\\".afterChangeSlash
    return fullPath
endfunction
Run Code Online (Sandbox Code Playgroud)

当我在:echo命令之后调用该函数时,我得到了预期的结果,如:

:echo GetFullPath()
Run Code Online (Sandbox Code Playgroud)

E:\测试\ test.h

但是,当我在:e(编辑)命令之后调用它时:

:e GetFullPath()
Run Code Online (Sandbox Code Playgroud)

Vim只是创建一个名为GetFullPath()的新文件

为什么命令:e将按字面意思处理函数调用,而命令:echo不会?

vim

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

如何在Emacs中打开本机cmd.exe窗口

我想打开一个cmd.exe窗口,其项目根目录是当前目录.

这是我的elisp代码:

(defun open-cmd-and-cd-to-project-root()
  (interactive)
  (projectile-mode t)
  (cd (projectile-get-project-root))
  (shell))
Run Code Online (Sandbox Code Playgroud)

它在Emacs缓冲区中打开一个cmd shell.但我希望它打开一个在Windows中运行的新的本机cmd.exe窗口,而不是在Emacs中运行的缓冲区.我怎样才能做到这一点?

emacs elisp

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

如何在Vim中回显%,<cfile>等特殊字符?

说我想看看我在哪个目录,我输入

:echo .
Run Code Online (Sandbox Code Playgroud)

并收到错误消息:

E15:Invalid expression .
Run Code Online (Sandbox Code Playgroud)

我怎样才能呼应了这些特殊字符,如%,.,<cfile>

vim

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

如何编写以@开头并在C#中包含""的字符串

当我更改以下C#字符串时

string xml="xmlns:qtpRep=\"http://www.mercury.com/qtp/ObjectRepository\""
Run Code Online (Sandbox Code Playgroud)

string xml=@"xmlns:qtpRep=\"http://www.mercury.com/qtp/ObjectRepository\""
Run Code Online (Sandbox Code Playgroud)

我得到编译器错误:;期望
如何在以@开头的字符串中表达文字双引号?

c#

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