Github 显示了拉取请求中分支上所有提交的组合差异。例如,这个拉取请求有三个提交,Github 显示了所有这三个提交的组合差异。
在 git 本身中,我可以做类似git diff HEAD~<n>查看提交的组合差异之类的n事情。
我如何在 tig 中做同样的事情?
在重启iex过程之间,在我的机器上,为什么它的pid总是一样的?
iex> self
#PID<0.81.0>
iex>
^C
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables (d)istribution
Run Code Online (Sandbox Code Playgroud)
再次
iex> self
#PID<0.81.0>
Run Code Online (Sandbox Code Playgroud)
为什么pid价值总是#PID<0.81.0>?
在如下代码中:
defmodule ModuleToBeUsed do
defmacro __using__(_) do
quote do
import unquote(__MODULE__)
end
end
end
defmodule ModuleUsing do
use ModuleToBeUsed
end
Run Code Online (Sandbox Code Playgroud)
这条线是import unquote(__MODULE__)做什么的?__MODULE__是指ModuleUsing。是否将其导入自身?
我的代码具有以下结构:
// $GOPATH/experiments/interfaceexport/printer/printer.go
package printer
import "fmt"
type ResourcePrinter interface {
PrintSomething()
}
type JSONPrinter struct {
IsGeneric bool
}
func (printer *JSONPrinter) PrintSomething() {
fmt.Println("JSON")
}
// $GOPATH/experiments/interfaceexporter/printerretriever/printerretriever.go
package printer
import "experiments/interfaceexporter/printer"
func GetPrinter() printer.ResourcePrinter {
return &printer.JSONPrinter{IsGeneric: true}
}
// $GOPATH/experiments/interfaceexport/main.go
import "experiments/intefaceexport/printerretriever"
func main() {
printer := printerretriever.GetPrinter()
printer.PrintSomething() // "JSON"
// interfaceexport/main.go:13: printer.IsGeneric undefined (type printer.ResourcePrinter has no field or method IsGeneric)
if printer.IsGeneric {
printer.PrintSomething()
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,go run main.go我得到以下错误:
interfaceexport/main.go:13: printer.IsGeneric undefined …