草庐IT

c++ - noexcept 访问 std::variant

全部标签

c - Ruby C 扩展开发人员的命名约定

在用C为ruby​​编写扩展时,我对遵循正确的命名约定很感兴趣。具体来说,我指的是将_p添加到谓词的函数名称以及为变量添加前缀m代表模块,c代表类等等。例如,如果我们想在C语言中定义一个像下面这样的谓词方法,我们应该在定义该方法的函数中使用_p作为后缀。classMyClassdefawesome?trueendend在C中:staticVALUEmy_extension_my_class_awesome_p(VALUEself){returnQtrue;}voidInit_my_extension(void){VALUEcMyClass=rb_define_class("MyClas

ruby - 从 Ruby 访问 Microsoft Exchange 服务器

我需要将MSExchange的联系人与我的RubyonRails应用程序同步。哪种方法最好?您会为它推荐任何现有的gem吗? 最佳答案 一个起点是ExchangeDeveloperCenter,其中Microsoft链接到不同SDK、文档等的下载。可以理解的是,大多数文档和示例将使用Microsoft的.NETFramework和语言。如果您想连接Exchange2007或2010,您可能会发现使用某种形式的ExchangeWebServices(EWS)最简单。您可以使用像SOAP4R这样的RubyWeb服务框架连接到它,WSO2

访问数组中第一个/最后一个元素的 Ruby 约定

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion这是一个关于约定的问题。下面的两组命令返回相同的结果。a=[1,2,3]a.first#=>1a[0]#=>1a.last#=>3a[-1]#=>3在Ruby中,哪一个是首选,显式索引还是函数?当然,假设这是总是访问第一个或最后一个元素的代码。注意:我一直在考虑每个周期所花费的时间。因为first和last接受参数,所以它们会有更多的开销,但我不知道这是否会影响社区的偏好。谢谢!编辑如果您

ruby - 访问 OpenStruct 中不存在的属性时引发异常

我正在尝试弄清楚如何使OpenStruct的子类(或与此相关的任何类)或散列在我尝试访问尚未设置的属性时引发自定义异常.我无法让define_method和method_missing执行此操作,所以我不知道应该如何在Ruby中完成。这是一个例子:classRequest我可以想象它必须是这样的:classHash#iftryingtoaccesskey:#1)keyexists,returnkey#2)keydoesn'texist,raiseexceptionend编辑:存在的属性不应引发异常。我正在寻找的功能是让我可以自由访问属性,如果它不存在,我的自定义异常将被引发。

ruby - 从任务中访问 Rake 任务描述

在rake任务中,如何查询描述?会给出的东西:desc"PopulateDB"taskpopulate::environmentdoputstask.desc#"PopulateDB"end 最佳答案 task必须定义为任务block的参数。desc"PopulateDB"task:populatedo|task|putstask.comment#"PopulateDB"putstask.full_comment#"PopulateDB"putstask.name#"populate"end编辑:此解决方案适用于rake0.8.7。

ruby-on-rails - 为什么使用 "self"访问 ActiveRecord/Rails 模型属性?

在我的整个应用程序中,self.没有必要引用用户名。name工作正常。为什么以下代码需要self才能按预期工作?classUser顺便说一句,我知道validates_presence_of可以用来防止保存,但如果没有给出名称,我想使用默认值保存。rails3.0.7。 最佳答案 通常使用self是为了强制Ruby将其识别为方法调用,而不是将其错误解释为变量。如果事先不知道名为day=的方法,那么day="x"在Ruby中看起来就像一个变量赋值。self.day="x"始终是方法调用。之所以麻烦是因为name和name=方法是在解析

ruby-on-rails - 在formtastic中访问表单对象

所以我正在制作一个调查应用程序。用户在后台选择一种类型的表单,在前端显示为某种类型。当然,这只是理想情况。现在发生的事情是我无法访问对象formtastic正在为其构建表单。我怎么能说“question.kind”之类的话?这样只会出错。这是我到目前为止所拥有的...=semantic_form_for@survey,:url=>"#",:html=>{:method=>"get"}do|f|-forquestionin@survey.questions=user_facing_question(f)到目前为止,互补的辅助方法是这样的:defuser_facing_question(f

ruby - 如何访问私有(private)方法

我的理解是private意味着对实例私有(private)。不能使用显式接收者调用私有(private)方法,即使是self。要调用私有(private)方法,我必须经历如下过程:classSampledeffoobazendprivatedefbazendendSample.new.foo这将调用私有(private)baz方法。有没有办法直接调用带有显式接收者的私有(private)方法? 最佳答案 是的,这可以通过Kernel#send实现:receiver.send:method_name,parameters尽管有类似Ba

ruby-on-rails - 用于存储桶中 Ruby 访问文件夹的 aws-sdk

我在AmazonS3上有一个存储桶,里面有文件夹。我正在尝试通过aws-sdkgem以下列方式访问它:s3=AWS::S3.new(:access_key_id=>"KEY",:secret_access_key=>"SECRET")bucket=s3.buckets["my_bucket/my_folder"]bucket.do_stuff....返回以下错误:您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有future请求发送到此端点。知道我做错了什么吗? 最佳答案 可能尝试使用的S3存储桶位于美国东部(默认位置)之外,因

ruby-on-rails - 直接通过 FTP 访问 Heroku?

我不想经历一个复杂的推送过程,每次我做一个小的改变都需要几分钟才能完成,我希望直接通过FTP访问我在Heroku服务器上的文件。这可能吗? 最佳答案 不,这是不可能的。虽然使用FTP直接推送更简单,但它是一种部署代码和管理应用程序的脆弱方式(难以跟踪所做的事情,难以重现或管理回滚等)。 关于ruby-on-rails-直接通过FTP访问Heroku?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q