小编jsv*_*isa的帖子

什么是`git checkout --orphan`用于什么?

我刚刚发现git checkout --orphan,但我不知道如何使用它.它的帮助页面说它创建了一个新的非专利分支.

master分支中,我试过git checkout --orphan br,只是看到工作目录中的文件更改为"要提交的更改",以及git log说法fatal: bad default revision 'HEAD'.

那么使用的优势是 git checkout --orphan什么?

git

34
推荐指数
3
解决办法
1万
查看次数

Golang将一个结构复制到另一个结构

我有两个struct有相同的成员,我想将一个结构复制到另一个,请参阅下面的伪代码:

type Common struct {
    Gender int
    From   string
    To     string
}

type Foo struct {
    Id    string
    Name  string
    Extra Common
}

type Bar struct {
    Id    string
    Name  string
    Extra Common
}
Run Code Online (Sandbox Code Playgroud)

然后,我有foo结构的Foo,而bar结构的Bar,有什么办法复制barfoo

go

21
推荐指数
4
解决办法
2万
查看次数

在Rails 4中缺少带有"邮件程序"的模板user_mailer/registration_confirmation

我正在学习使用Railscast#206发送电子邮件.本教程使用Rails 3,但我使用的是Rails 4.

应用程序/邮寄/ user_mailer.rb:

class UserMailer < ActionMailer::Base
    default from: "ryan@railscast.com"

    def registration_confirmation(user)
        @user = user
        mail(:to => "#{user.name}", :subject => "Registered")
    end
end
Run Code Online (Sandbox Code Playgroud)

应用程序/视图/ user_mailer文件/ registration_confirmation.text.rb:

<%= @user.name %>,

Thank you for registering!

Edit profile: <%= edit_user_url(@user) %>
Run Code Online (Sandbox Code Playgroud)

app/views/user_mailer/registration_confirmation.html.rb:

<p><%= @user.name %>,</p>

<p>Thank you for registering!</p>

<p><%= link_to "Edit profile", edit_user_url(@user) %></p>
Run Code Online (Sandbox Code Playgroud)

应用程序/控制器/ users_controller.rb:

class UsersController < ApplicationController
  ......
  def create
    @user = User.new(user_params)
    if @user.save 
      sign_in @user
      flash[:success] = "Welcome"
      UserMailer.registration_confirmation(@user).deliver
      redirect_to @user
    else
      render …
Run Code Online (Sandbox Code Playgroud)

email ruby-on-rails

9
推荐指数
1
解决办法
7450
查看次数

Elixir如何将Map结构转换为Record结构

我有一个Record结构和一个Map结构,如:

defmodule Foo.Bar do
  defstruct boo: nil, baz: nil
end

defmodule Foo do
  require Record
  Record.defrecord :bar, Foo.Bar, [boo: nil, baz: nil]
end
Run Code Online (Sandbox Code Playgroud)

我可以像这样将Record转换为Map:

defp update_map({k, v}, map), do: Map.update!(map, k, fn(_) -> v end)
defp rd2map(rd) do
  Foo.bar(rd) |> Enum.reduce(%Foo.Bar{}, &update_map/2)
end
Run Code Online (Sandbox Code Playgroud)

但是如何将地图转换为记录呢?

elixir

7
推荐指数
1
解决办法
3843
查看次数

Ruby并行分配

我想测试并行赋值的返回值,我写puts (x, y = 1, 2),但它不起作用,并打印错误消息:

SyntaxError: (irb):74: syntax error, unexpected ',', expecting ')'
puts (x,y =1,2)
    ^
(irb):74: syntax error, unexpected ')', expecting end-of-input
Run Code Online (Sandbox Code Playgroud)

有什么不对的吗?

ruby

5
推荐指数
2
解决办法
1193
查看次数

在Elixir记录中使用括号语法

我正在学习使用elixir lang开始的Elixir编程,而且我已经完成了record brace syntax.

这是样本:

defrecord FileInfo, atime: nil, accesses: 0
defmodule FileAccess do
  def was_accessed?(FileInfo[accesses: 0]), do: false
  def was_accessed?(FileInfo[]),            do: true
end
Run Code Online (Sandbox Code Playgroud)

虽然作者认为Elixir在编译时将记录扩展为元组.所以

def was_accessed?(FileInfo[accesses: 0]), do: false
Run Code Online (Sandbox Code Playgroud)

是相同的:

def was_accessed?({ FileInfo, _, 0 }), do: false
Run Code Online (Sandbox Code Playgroud)

但是当我输入Elixir shell时:

iex(13)> FileInfo[access: 0] == {FileInfo, nil, 0}
true
iex(14)> FileInfo[access: 0] == {FileInfo, 0, 2}
false
Run Code Online (Sandbox Code Playgroud)

结果FileInfo[access: 0] 只是等于{FileInfo, nil, 0},

没有{ FileInfo, _, 0 }.

这两个场景有什么区别?

elixir

5
推荐指数
1
解决办法
337
查看次数

如何在Mac OS X中安装C标准库函数的手册页

我想在Mac OS X中看到一些c标准库函数的mag页面,当我输入时man setsockopt,它返回到No manual entry for setsockopt.这是否意味着我没有为c标准安装手册页?我应该如何安装它?

c

4
推荐指数
1
解决办法
3343
查看次数

无法在Elixir项目中获取环境变量

我定义了一个与guide-started相关的环境变量,我的mix.exs

defmodule Basic.Mixfile do
  use Mix.Project

  def project do
    [app: :basic,
     version: "0.0.1",
     elixir: "~> 0.13.0-dev",
     deps: deps,
     env: [
      dev: [foo: "bar"] ] ]
  end

  # Configuration for the OTP application
  #
  # Type `mix help compile.app` for more information
  def application do
    [ applications: [],
      mod: { Basic, [] } ]
  end

  # List all dependencies in the format:
  #
  # { :foobar, git: "https://github.com/elixir-lang/foobar.git", tag: "0.1" }
  #
  # Type `mix help deps` …
Run Code Online (Sandbox Code Playgroud)

elixir-mix elixir

4
推荐指数
1
解决办法
5329
查看次数

如何在 Erlang 中创建一个保持活动的进程

我目前正在阅读编程 Erlang!,在第13章的最后,我们要创建一个keep-alive进程,示例如下:

on_exit(Pid, Fun) ->
    spawn(fun() ->
            Ref = monitor(process, Pid),
            receive
                {'DOWN', Ref, process, Pid, Info} ->
                    Fun(Info)
            end
    end).
keep_alive(Name, Fun) ->
    register(Name, Pid = spawn(Fun)),
    on_exit(Pid, fun(_Why) -> keep_alive(Name, Fun) end).
Run Code Online (Sandbox Code Playgroud)

但当之间register/2on_exit/2过程可能退出,所以显示器会失败,我改变了keep_alive/2这样的:

keep_alive(Name, Fun) ->
    {Pid, Ref} = spawn_monitor(Fun),
    register(Name, Pid),
    receive
        {'DOWN', Ref, process, Pid, _Info} ->
            keep_alive(Name, Fun)
end.
Run Code Online (Sandbox Code Playgroud)

还有一个错误,在spawn_monitor/2和之间register/2,进程可能会退出。这怎么可能成功运行?谢谢。

erlang

3
推荐指数
1
解决办法
932
查看次数

Rsync - 不传输空文件

我想用来rsync将文件从服务器传输到我自己的电脑,但服务器端有一些空文件.我不需要那些文件,rsync这种情况下的命令是什么(传输所有文件除了空文件)?

linux shell rsync command

1
推荐指数
1
解决办法
1283
查看次数

在Elixir中使用牛仔时出错

:cowboy在Elixir中使用Erlang Web框架,我收到了一个错误:cowboy_http_req.reply,这是我的代码:

mix.exs是:

defmodule Example.Mixfile do
  use Mix.Project

  def project do
    [ app: :example,
      version: "0.0.1",
      deps: deps ]
  end

  # Configuration for the OTP application
  def application do
    [
      # you should start :inets and :crypto first, or it will not start cowboy
      applications: [:inets, :crypto],
      mod: {Example, []}
    ]
  end

  # Returns the list of dependencies in the format:
  # { :foobar, "0.1", git: "https://github.com/elixir-lang/foobar.git" }
  defp deps do
    [
      { :cowboy, github: …
Run Code Online (Sandbox Code Playgroud)

erlang elixir cowboy

0
推荐指数
1
解决办法
1790
查看次数

捕获时是否正则表达式中的OR运算符的不同行为

我有两个正则表达式,一个是^0|[1-9][0-9]*$,另一个是^(0|[1-9][0-9]*),第一个表达式匹配字符串"01",而后一个表达式不匹配.两个表达的区别是什么?在我看来,后者只捕获匹配的字符串.我想知道为什么后来不能匹配"01"字符串.

regex

0
推荐指数
1
解决办法
26
查看次数

标签 统计

elixir ×4

erlang ×2

c ×1

command ×1

cowboy ×1

elixir-mix ×1

email ×1

git ×1

go ×1

linux ×1

regex ×1

rsync ×1

ruby ×1

ruby-on-rails ×1

shell ×1