我搜索了很多,但不能解决这个问题.
我有一个与其他三个模型相关的模型.我们称之为城市.城市确实有一个大陆,一个国家和地区.
当我选择一些城市时,我想要获得一个OrderedHash或一个如下所示的数组:
{ 'Continent 1' => {'Country 1' => { 'Region 1' => { 'City 1', 'City 2' }}}, 'Continent 2' ...}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我对ruby比较陌生,我试图找出从字符串中提取多个值的"ruby"方法,基于正则表达式中的分组.我正在使用ruby 1.8(所以我认为我没有命名捕获).
我可以匹配,然后分配1美元,2美元 - 但我觉得必须有一个更优雅的方式(毕竟这是红宝石).
我也有一些与grep一起工作的东西,但是因为我正在使用一个数组并且只是抓住第一个元素,所以它看起来很像hackish:
input="FOO: 1 BAR: 2"
foo, bar = input.grep(/FOO: (\d+) BAR: (\d+)/){[$1,$2]}[0]
p foo
p bar
Run Code Online (Sandbox Code Playgroud)
我已经尝试在线搜索并浏览ruby文档,但是还没有能够找到更好的东西.
我是红宝石的新手,但我正在研究我的第一个红宝石计划.它目前有两个文件,一个是函数库(xgync.rb
存储在其中lib
),另一个是xgync
存储在'bin'中的可执行文件.(项目在这里可见https://bitbucket.org/jeffreycwitt/xgync/src)我还为我创建了一个符号链接,/usr/local/bin/xgync
以便我可以{arguments}
从终端的任何地方编写命令xgync .
问题似乎bin/xgync
取决于图书馆lib/xgync.rb
.我把这个依赖写成bin/xgync
如下:
$:.unshift(File.dirname(__FILE__) + '/../lib')
require "xgync"
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到以下错误:
/Users/JCWitt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- xgync (LoadError)
from /Users/JCWitt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/bin/xgync:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)
你能看到我写的东西有什么问题吗?符号链接可能会以某种方式搞砸了吗?
谢谢你的帮助 :)