草庐IT

Python代码:动态的创建列表

全部标签

ruby - 在 Vim 中格式化 Ruby 代码

目前刚转向Vim。在TextMate中,我可以通过点击Cmd-Alt-[来格式化代码。我如何在Vim中实现同样的目标?请参阅下面的命令答案。我发现我的.vimrc中还需要以下内容,以便Vim知道如何自动缩进Ruby。ifhas("autocmd")filetypeindentonendif 最佳答案 Vimcasts有ausefulscreencast关于这个你可能感兴趣的主题gg=Ggg=>gotostartoffile==>applyautoformattingG=>...totheendoffile

ruby - 分析 Ruby 代码

除了ruby​​-prof和核心Benchmark类,您还使用什么来分析您的Ruby代码?特别是,您如何找到代码中的瓶颈?几乎感觉我需要使用自己的小工具来弄清楚所有时间都花在了我的代码中。我知道ruby​​-prof提供了这个,但坦率地说,输出非常困惑,并且不容易找出您自己代码的哪些实际block是问题的根源(它告诉您调用了哪些方法虽然是最多的时间)。所以我并没有真正从中得到我想要的那么多,也没有真正能够利用它。也许我做错了?有其他选择吗?Google搜索没有为我带来任何结果。 最佳答案 要真正深入研究您的代码,请尝试stackpr

ruby - 如何在 sinatra 中引发自定义错误代码?

我在我的sinatra应用程序中执行了以下操作:disable:show_exceptionsdisable:raise_errorserrordohaml:error,:locals=>{:error_message=>request.env['sinatra.error'].to_s}endget'/error'doraise"ERROR!!"end如果我访问/error,我会得到一个500-InternalServerError响应代码,这是上帝想要的。但是如何将代码更改为404或501等?答案:disable:show_exceptionsdisable:raise_error

python - Ruby 中的装饰器(从 Python 迁移)

我今天从Python的角度学习Ruby。我完全没能解决的一件事是装饰器的等价物。为了精简内容,我尝试复制一个简单的Python装饰器:#!/usr/bin/envpythonimportmathdefdocument(f):defwrap(x):print"Iamgoingtosquare",xf(x)returnwrap@documentdefsquare(x):printmath.pow(x,2)square(5)运行这个给我:Iamgoingtosquare525.0因此,我想创建一个函数square(x),但要对其进行装饰,以便它在执行之前提醒我它要对什么进行平方。让我们去掉糖

ruby - 如何动态创建局部变量?

我有一个变量var="some_name",我想创建一个新对象并将其分配给some_name。我该怎么做?例如var="some_name"some_name=Struct.new(:name)#Ineedthisa=some_name.new('blah')#sothatIcandothis. 最佳答案 您不能在Ruby1.9+中动态创建局部变量(您可以在Ruby1.8中通过eval):eval'foo="bar"'foo#NameError:undefinedlocalvariableormethod`foo'formain:O

ruby - 如何从 Ruby on Rails 中的字符串值创建变量名?

我想在Controller中创建一个实例变量以在View中使用:foo="bar"instance_variable_set("#{foo}","cornholio")在View中,使用@bar以便:@bar=>"cornholio"这会产生一个错误:'bar'isnotallowedasaninstancevariablename在Rails3.1中工作 最佳答案 这个instance_variable_set("#{foo}","cornholio")需要读取instance_variable_set("@#{foo}","co

ruby - 如何调试 ruby​​ 代码?

我运行的是Ubuntu10.10。我只想调试一个简单的脚本。在花了半天时间试图弄清楚如何做到这一点后,我放弃了。我到底该怎么办?我从Ubuntu存储库安装了ruby-dev我运行了sudogeminstallruby​​-debug和sudogeminstallruby​​-debug-ide我尝试了几种不同的方法来完成这项工作。我试过require'ruby-debug'然后在代码的某处设置debugger。但是Ruby找不到ruby-debug。我尝试设置vim-ruby-debugger,这将花费ages来执行:RdebuggermyScript.rb并允许我设置断点,但似乎没有

ruby - 创建一个哈希值作为数组和默认值作为空数组

这个问题在这里已经有了答案:Strange,unexpectedbehavior(disappearing/changingvalues)whenusingHashdefaultvalue,e.g.Hash.new([])(4个答案)关闭6年前。我想在Ruby中创建一个默认值为空数组的哈希所以,我编码x=Hash.new([])但是,当我尝试将一个值压入其中时x[0].push(99)所有键都将99插入该数组。我该如何解决这个问题?

ruby-on-rails - 不要在 Rails 生成 Controller 上创建 View 文件夹

当您运行railsgeneratecontroller时,是否有一种方法可以使用通常的生成器配置来关闭View文件夹和操作模板的创建?我在任何地方都找不到选项和代码here没有给我任何指示。无论如何,我们可能会在某个时候为我们的API构建我们自己的Controller/资源生成器,但我很好奇是否有办法同时消除这种烦恼。 最佳答案 这不是一个有据可查的功能,但请尝试在命令中添加--skip-template-engine(别名--no-template-engine)选项。railsgeneratecontrollerfoobar--

ruby - 如何将一个模块包含到另一个模块中(将 AASM 代码和自定义状态重构到模块中)

我正在尝试重构一个super模型,该模型具有相当多行与状态和转换相关的ActsAsStateMachine代码,我希望将其重构为模块调用CallStates。#inlib/CallStates.rbmoduleCallStatesmoduleClassMethodsaasm_column:statusaasm_state:state1aasm_state:state2aasm_state:state3enddefself.included(base)base.send(:include,AASM)base.extend(ClassMethods)endend然后在模型中includeC