草庐IT

空间资源隔离

全部标签

ruby - 在 Ruby 中命名命名空间的首选方式(更好的风格)是什么?单数还是复数?

使用的优缺点是什么:FooLib::PluginsFooLib::Plugins::Bar对比FooLib::PluginFooLib::Plugin::Bar命名约定?你会用什么或者你在用什么?社区里比较常用的是什么? 最佳答案 使用:moduleFooLibendmoduleFooLib::PluginsendclassFooLib::Plugins::Plugin;end#thebaseforpluginsclassFooLib::Plugins::Bar或者换句话说:moduleFooLibmodulePluginsclas

ruby - 如何访问 Ruby 中的基本命名空间?

我正在File模块所在的命名空间中编写代码(在另一个模块中)我需要访问ruby​​File类。在php中,这可以这样完成:\File如何在ruby​​中做到这一点? 最佳答案 ::File前缀为::访问命名空间树的“根”。 关于ruby-如何访问Ruby中的基本命名空间?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10064334/

ruby - 如何只获取没有命名空间的类名

有这样一个类。moduleFooclassBarendend而且我想获取不包含Foo的Bar的类名。bar=Foo::Bar.newbar.class.to_s.match('::(.+)$'){$1}我可以通过这段代码获取类名,但我认为这不是获取类名的最佳方式。有没有更好的方法在没有命名空间的情况下获取类名? 最佳答案 如果您正在使用ActiveSupport(Rails的一部分),您实际上可以在String类上使用#demodulize方法。http://apidock.com/rails/String/demodulizeba

ruby-on-rails - 在 Rails 3 中路由嵌套资源

我有一个很常见的嵌套路由案例,我觉得它看起来像这样(在某种伪符号中):'/:username/photos'=>ShowphotosforUser.find_by_username'/photos'=>ShowphotosforUser.all简而言之:我有用户。他们有照片。我希望能够在他们的页面上显示他们的照片。我还希望能够显示所有照片,而不管用户是谁。我想保持我的路由RESTful并使用内置的resource方法感觉是正确的方法。选项1这样做是让PhotosController#index使用条件来检查给定的参数并获取照片列表并设置View(用户的照片与所有照片不同).路由它甚至很

ruby-on-rails - 处理命名空间中的命名空间模型(类)

我正在使用RubyonRails3,我想在命名空间中处理模型(类)命名空间。也就是说,如果我有一个名为NS1的命名空间和一个名为NS2的命名空间的“子命名空间”,我想在中处理模型(类)NS2。如果我运行一个脚手架railsgeneratescaffoldns1/ns2/Articleid:integertitle:string它将生成以下模型文件:models/ns1/ns2/article.rbfilemodels/ns1/articles.rbmodels/ns1/articles.rb包含:moduleNs1::Articlesdefself.table_name_prefix'

ruby - Rails 3 - 限制资源路由中的操作格式

我在我的route定义了一个资源。resources:categories我的类别Controller中有以下内容:defshow@category=Category.find(params[:id])respond_todo|format|format.json{render:json=>@category}format.xml{render:xml=>@category}endendController操作适用于json和xml。但是我不希望Controller响应html格式的请求。我怎样才能只允许json和xml?这应该只发生在表演Action中。实现此目标的最佳方法是什么?还

Krylov子空间迭代

Krylov子空间迭代法是很好的特征值计算方法。通过子空间迭代,把大型模态空间降阶到几十阶,大大简化了模态计算量。这需要我们对模态空间和子空间的物理意义要有准确的理解。Krylov——“降维打击”假设你有一个线性方程组:Ax=b其中A是已知矩阵,b是已知向量,x是需要求解的未知向量。当你有这么个问题需要解决时,一般的思路是直接求A的逆矩阵:x=A−1A^{-1}A−1b但是,如果A的维度很高,比方说n=10000,那么A就是一个大型矩阵,是很难求逆的,且A如果还是一个稀疏矩阵,那就更难求了。这时Krylov想到了一种方法来替换A的逆:A−1A^{-1}A−1b≈∑i=0m−1\displays

ruby - 这些 Ruby 命名空间约定之间有什么区别?

因此Module可以在Ruby中用于提供命名空间以及混入,如下所示:moduleSomeNamespaceclassAnimalendendanimal=SomeNamespace::Animal.new但我也看到了以下使用:moduleSomeNamespaceendclassSomeNamespace::Animalendanimal=SomeNamespace::Animal.new我的问题是它们有何不同(如果有的话)以及哪个更符合Ruby的习惯? 最佳答案 区别在于嵌套。在下面的示例中,您可以看到使用类Foo的前一种方法可以

ruby - 如何在 Ruby 中获取命名空间中的所有类名?

我有一个模块Foo,它是许多类的命名空间,例如Foo::Bar、Foo::Baz等等上。有没有办法返回所有由Foo命名空间的类名? 最佳答案 Foo.constants返回Foo中的所有常量。这包括但不限于类名。如果你只想要类名,你可以使用Foo.constants.select{|c|Foo.const_get(c).is_a?Class}如果你想要类名和模块名,你可以使用is_a?模块而不是is_a?类。 关于ruby-如何在Ruby中获取命名空间中的所有类名?,我们在StackOv

ruby-on-rails - 如何在 Ruby on Rails 中以编程方式查找命名空间/模块名称?

如何在下面的过滤器中找到namespace或模块“Foo”的名称?classApplicationController 最佳答案 这些解决方案都没有考虑具有多个父模块的常量。例如:A::B::C从Rails3.2.x开始,您可以简单地:"A::B::C".deconstantize#=>"A::B"从Rails3.1.x开始,您可以:constant_name="A::B::C"constant_name.gsub("::#{constant_name.demodulize}",'')这是因为#demodulize与#deconst