草庐IT

ios - NSArray 中不区分大小写 containsObject :

全部标签

ruby - ruby 方法名的大小写规则是什么?

我是一名Ruby初学者。从书上,我知道Ruby方法名应该以小写字母或下划线开头。但我发现了不同的场景:如果一个方法定义在类的外部,它只能以小写字母开头,如果你试图定义一个以大写字母开头的方法,Ruby会报错,例如:definesayHiputs"Hello"endsayHi#=>Hello但是,下面的代码不起作用:defineSayHiputs"Hello"endSayHi它会产生一个错误::in`':uninitializedconstantSayHi(NameError)如果一个方法定义在一个类中,那么它可以以大写字母开头:classTestdefSayHiputs"hello"e

ruby-on-rails - 如何使用 ruby​​/rails 将所有大写字母转换为正确的首字母大写,其余小写?

我有一个姓名和地址的数据文件...它们都是大写的。如何将其转换为正确地使第一个字母大写,其余字母小写(例如州除外)?我可能可以隔离状态不通过解析,但对于其余部分,我如何为ruby​​onrails应用程序执行此操作? 最佳答案 如果你能像你说的那样把状态分开,那就很容易了:my_address_string.titlecase它会将每个单词的第一个字母大写(包括一些我不希望它没有的字母,例如“a”或“the”,但是嘿......)并取消其余部分的大写。听起来就像你想要的。 关于ruby-

ruby - 如何在 Ruby 中创建一个哈希来比较字符串,忽略大小写?

在Ruby中,我想在哈希中存储一些内容,但我不希望它区分大小写。例如:h=Hash.newh["HELLO"]=7putsh["hello"]这应该输出7,即使大小写不同。我可以只覆盖散列的相等方法或类似的方法吗?谢谢。 最佳答案 为防止此更改完全破坏程序的独立部分(例如您正在使用的其他ruby​​gem),请为您的不敏感哈希创建一个单独的类。classHashClod1you_insensitive['CLod']=5putsyou_insensitive['clod']#=>5重写赋值和检索函数后,就小菜一碟了。创建Hash的完

ruby - 创建一个固定大小的数组,并用另一个数组填充默认内容?

我想创建一个固定大小的数组,其中默认数量的元素已经从另一个数组中填充,所以假设我有这个方法:deffixed_array(size,other)array=Array.new(size)other.each_with_index{|x,i|array[i]=x}arrayend那么我可以使用如下方法:fixed_array(5,[1,2,3])我会得到[1,2,3,nil,nil]在ruby​​中有更简单的方法吗?就像用nil对象扩展我已有的数组的当前大小一样? 最佳答案 deffixed_array(size,other)Arra

c - 如何在 Mac OS X 上使用 ulimit 或每个进程为 C 或 Ruby 程序更改堆栈大小?

似乎为C程序或Ruby程序(使用C堆栈)设置堆栈大小的推荐方法是使用ulimit。在Bash外壳中。但是$ulimit-s8192$ulimit-s16384-bash:ulimit:stacksize:cannotmodifylimit:Operationnotpermitted和sudo也没有帮助。有没有办法将其设置为16MB、32MB或64MB?我认为应该有一种方法可以在每次程序调用时设置它,而不是同时设置系统范围的参数?现在8192可能意味着8MB,如果与一个进程可以使用的内存量相比,这是非常小的,有时最多2GB的RAM。(更新注释:ulimit-a可以显示其当前值)。(更新2

Ruby - 命名约定 - 类/模块名称中首字母缩略词的字母大小写?

我需要在名为“SCM”的模块中创建一个代表“SVN”的类。但我不知道在处理Ruby中的首字母缩略词时的约定是什么,并且在Google中找不到任何相关内容,除了“首选驼峰式大小写”。我应该称它为SCM::SVN还是Scm::Svn?有这方面的约定吗? 最佳答案 将以下内容添加到config/initializers/inflections.rb。ActiveSupport::Inflector.inflections(:en)do|inflect|inflect.acronym'SVN'end现在运行$railsgmodelSVN..

ruby - 在 Ruby 中读取套接字时理解 IO.select

我有一些代码用于从网络套接字获取数据。它工作正常,但我通过反复试验失败了。我谦虚地承认我并不完全了解它是如何工作的,但我真的很想了解。(这是我发现的cargo崇拜形式的工作代码)我不明白的部分以“ready=IO.select...”开头,我不清楚:IO.select正在做什么(我尝试查找它,但对Kernel和其他东西更加困惑)IO.select的数组参数是做什么用的ready[0]正在做什么读取1024字节的大致思路?一次代码如下:@mysocket=TCPSocket.new('192.168.1.1',9761)th=Thread.newdowhiletrueready=IO.s

ruby - 如何将 IO 对象转换为 Ruby 中的字符串?

我正在处理一个IO对象(一些STDOUT输出文本),并且我正在尝试将它转换为一个字符串,以便我可以进行一些文本处理。我想做这样的事情:my_io_object=$stdout#=>#>my_io_object.puts('hi')#note:Iknowhowtomake'hi'intoastring,butthisisasimplifiedexample#=>himy_io_object.to_s我已经尝试了一些东西并得到了一些错误:my_io_object.read#=>IOError:notopenedforreadingmy_io_object.open#=>NoMethodEr

ruby - 如何创建 nokogiri 不区分大小写的 Xpath 选择器?

我正在使用nokogiri来选择“关键字”属性,如下所示:putspage.parser.xpath("//meta[@name='keywords']").to_html我正在使用的其中一个页面的关键字标签带有大写字母“K”,这促使我使查询不区分大小写。AND所以,我的问题是:使nokogiri选择不区分大小写的最佳方法是什么?编辑下面Tomalak的建议非常适合这个特定问题。我还想使用这个例子来帮助更好地理解nokogiri,并且有几个我想知道但没有成功搜索的问题。例如,正则表达式“伪类”是NokogiriDocs吗?适合这样的问题吗?我也很好奇nokogiri中的matches?

ruby - 是否可以做一个不区分大小写的 `gsub` ?

我正在执行gsub以将“bad”换成“good”。有没有办法使用capitalize来交换大小写?或者我必须写两次def吗?defadd_more_ruby(string)string.gsub('bad','good').capitalizeend 最佳答案 你可以通过Regexp而不是String,使用i选项指示此正则表达式不区分大小写:defadd_more_ruby(string)string.gsub(/bad/i,'good')end请注意,它不仅会替换'bad'和'BAD',而且还会替换'bAd'。如果你只想替换全大写