草庐IT

windows - 执行策略修改

全部标签

ruby - 当应用程序关闭时,我要在 Sinatra 中的什么位置放置要执行的代码?

我正在为我的网络应用程序使用Sinatra。当我的应用程序关闭时,我有一些要执行的清理代码。Sinatra中是否有针对此的Hook,还是我必须使用单独的机制? 最佳答案 看Kernel#at_exit,如果您在主应用程序文件中的某处定义这样的block,我不明白为什么它不能在Sinatra应用程序中工作。更新:根据matt的评论,您必须在要求Sinatra之前定义您的at_exit处理程序。 关于ruby-当应用程序关闭时,我要在Sinatra中的什么位置放置要执行的代码?,我们在Sta

ruby - 我怎样才能可靠地发现 Ruby 可执行文件的完整路径?

我想写一个脚本,打包成一个gem,它将修改它的参数,然后用修改后的参数exec一个新的ruby进程。换句话说,类似于修改其参数然后执行exec$SHELL$*的shell脚本。为此,我需要一种可靠的方法来发现正在执行当前脚本的ruby​​可执行文件的路径。我还需要获取传递给当前进程的完整参数——Ruby参数和脚本参数。 最佳答案 Rake源代码是这样的:RUBY=File.join(Config::CONFIG['bindir'],Config::CONFIG['ruby_install_name']).sub(/.*\s.*/m,

ruby - 如何在 Windows 上安装 rmagick gem?

如何为WindowsXP安装rmagickgem?我已经用头文件安装了ImageMagick,并且安装了DevKit附带的RailsInstaller.org。我不知道去哪里修复这些错误。C:\RailsInstaller\ImageMagick-6.8.2-Q16>ruby-vruby1.9.3p125(2012-02-16)[i386-mingw32]C:\RailsInstaller\ImageMagick-6.8.2-Q16>gem-v1.8.16C:\RailsInstaller\ImageMagick-6.8.2-Q16>path=%PATH%;C:\RailsInstal

ruby - 在 windows 上 rake : bad interpreter: permission denied

我安装了JRuby和Gitforwindows。然后我使用RubyInstaller安装了Ruby2.3x64。然后我安装了x64devkit。我安装了jsongem,它运行正常。运行rake--version给我错误:bash:/c/Ruby23-x64/bin/rake:C:/Users/Justin/Projects/rubyinstaller/sandbox/ruby23_mingw/bin/ruby.exe:错误的解释器:权限被拒绝我的名字不是Justin,我的计算机或网络上没有叫Justin的用户,我什至没有任何叫Justin的friend。是什么导致了这个问题?

Ruby 并为 Float 实例修改自身

我想更改float实例的self值。我有以下方法:classFloatdefround_by(precision)(self*10**precision).round.to_f/10**precisionendend我想添加round_by!修改自身值的方法。classFloatdefround_by!(precision)self=self.round_by(precision)endend但是我得到一个错误,说我不能改变self的值。有什么想法吗? 最佳答案 您不能更改self的值。它总是指向当前对象,你不能让它指向别的东西。当

ruby - 修改默认哈希值

这个问题在这里已经有了答案:Strange,unexpectedbehavior(disappearing/changingvalues)whenusingHashdefaultvalue,e.g.Hash.new([])(4个答案)关闭6年前。Ruby允许您定义散列的默认值:h=Hash.new(['alright'])h['meh']#=>["alright"]显示散列时会显示值的分配,但不会显示修改后的默认值。'坏'在哪里?h['good']=['fine','dandy']h['bad'].push('unhappy')h#=>{"good"=>["fine","dandy"]

ruby - 在类中包含模块并执行代码

这是我以前上过的课classSomething#Definesthevalidatesclassmethods,whichiscalleduponinstantiationincludeModulevalidates:namevalidates:dateend我现在有几个使用相同功能的对象,更糟糕的是,有几个定义相似事物的对象,如下所示:classAnotherthing#Definesthevalidatesclassmethods,whichiscalleduponinstantiationincludeModulevalidates:ageend我想“重用”这些类的内容,所以我把

Ruby 在没有显式包含声明的情况下在子类上执行 self.included(base) 方法?

我有许多继承自一个父类(superclass)的类。作为模块定义的父类(superclass)。模块内部是一个设置一些实例变量的self.included(base)方法。所以像这样:moduleMyModuledefself.included(base)base.instance_variable_set("@my_instance_variable",{})endendclassMySuperClassincludeMyModuleendclassClassA除非我明确地将MyModule包含在ClassA和ClassB中,否则我的实例变量将不会在这两个类中设置。有没有办法确保在每

ruby-on-rails - 使用代理在 Windows 7 上安装 gem

我正在尝试在代理后面的Windows7上安装ruby​​。我查看了各种论坛并成功设置了(我认为)http_proxy(见下文)SETHTTP_PROXY=http:username:password@http://proxyhere.com:8080但是,我现在在尝试安装gem时遇到以下错误:SocketError:getaddrinfo:Nosuchhostisknown.有什么想法吗? 最佳答案 HTTP_PROXY语法需要是URI:SETHTTP_PROXY=scheme://user:pass@host:port/paths

Windows 7 64 位机器上的 Ruby 安装程序

任何人都可以帮我在哪里找到要在Windows7上安装的Ruby64位安装程序,或者我可以在64位机器上安装32位Ruby1.8.6或1.9安装程序(只有一个)没有任何问题吗?.任何建议或文档链接将不胜感激。提前致谢。 最佳答案 由于WOW64(WindowsonWindows功能),32位Ruby可以安装在64位Windows版本中64位Ruby没有安装程序,您会发现这方面有很多复杂的问题。我建议您使用官方RubyInstaller网站上即将推出的RubyInstallers:http://rubyinstaller.org/(将被