我从github克隆了别人的电脑到我的电脑,试试看.我最终对它(本地)进行了一些更改,我不想承诺原始的回购.相反,我想创建自己的项目分支,应用我所做的更改,然后将其推送到我自己的仓库.我该怎么做呢?
关于在 mac osx 上组织源代码的好方法有什么建议吗?我通常进行 ruby 或 ruby on Rails 开发,并且我过去有很多使用经典 asp 和 asp.net MVC C# 的项目。我还从 github 下载了很多 git 存储库。
我想要一些一般准则,但我确实有一些具体问题。
我应该将我的源代码文件放在我的用户下吗?所以像这样
/Users/Brand/MySourceFiles/...
Run Code Online (Sandbox Code Playgroud)
或者我应该把它放在根目录下?我更喜欢根,但不知道这是不是一个坏主意。
/MySourceFiles/...
Run Code Online (Sandbox Code Playgroud)
我应该将我的网站项目与非网站项目分开吗?
对于网站项目,我有很多 Photoshop 文件,这些文件应该放在哪里?
我有什么理由应该将 .net 和 Rails 项目保存在不同的文件夹中?比如一个用于 asp.net,一个用于 Rails?
我有一个像这样的多维数组
[ [[]], [[1], [2]], [[1, 2]] ]
Run Code Online (Sandbox Code Playgroud)
删除空数组的最佳方法是什么?
现在我只是做一个array[1..-1]删除第一个元素,但我想要一个更可靠的方法来做到这一点.
这就是我想要做的
a = [1, 2, 3, 4]
a[1] = 0
a[2] = 0
Run Code Online (Sandbox Code Playgroud)
一种方法是循环
(1..2).each { |x| x = 0 }
Run Code Online (Sandbox Code Playgroud)
有没有办法用范围或splats以某种方式做到这一点?就像是
a[(1..2)] = 0
Run Code Online (Sandbox Code Playgroud) 我看过用户运行 irb 的截屏视频,当他们写文本时,他们跳到行的开头/结尾和单词的开头/结尾。用于执行此操作的按键是什么?它是否取决于正在使用的外壳?
我正在使用Chrome和内置开发人员工具.我在控制台中执行以下操作
$('.votes > a > img')[0]
Run Code Online (Sandbox Code Playgroud)
我明白了
<img src="/myimage_png">
Run Code Online (Sandbox Code Playgroud)
但如果我这样做
$('.votes > a > img')[0].get(0).tagName
Run Code Online (Sandbox Code Playgroud)
我明白了
TypeError: Object #<HTMLImageElement> has no method 'get'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么有时候我能做.get(0).tagName,有时候我不能做(取决于我的选择器当然是什么)
我在我的rails项目中使用rvm并在Gemfile中指定gem版本.
但是,我现在的问题是不同的.我想创建一个rails 3.1项目,rails new project_name但我当前版本的rails是Rails 3.0.3
我知道我可以更新我的rails gem版本但是接下来所有的所有执行都会rails new project_name创建一个3.1项目吗?
我如何设置,以便有时可以创建rails 3.1项目,而有时创建rails 3.0项目?
我正在mac osx上做一些rails dev.我有一个别名vim,调用自制的版本
vim: aliased to /usr/local/Cellar/vim/7.3.266/bin/vim
Run Code Online (Sandbox Code Playgroud)
但是如果我执行说git rebase -i [sha]然后它将调用与别名的vim不同的vim.它的召唤/usr/bin/vim不是我想要的.
我该如何解决?
在Eloquent Ruby中有一个我不明白的代码示例.
class Document
attr_accessor :save_listener
# most of the class omitted...
def on_save( &block )
@save_listener = block
end
def save( path )
File.open( path, 'w' ) { |f| f.print( @contents ) }
@save_listener.call( self, path ) if @save_listener
end
end
# usage
my_doc = Document.new( 'block based example', 'russ', '' )
my_doc.on_save do |doc|
puts "Hey, I've been saved!"
end
Run Code Online (Sandbox Code Playgroud)
为什么@save_listener.call( self, path )需要两个参数?保存的块看起来只有一个参数|doc|.这是书中的拼写错误还是我在这里缺少什么?
我甚至尝试输入此代码并执行它,我发现我可以添加任意数量的参数,并且不会出现任何错误.但我仍然不明白为什么在这个例子中有两个参数.