今天我Pathname
在Ruby中遇到了这个类,并注意到你可以直接将类本身称为一个方法(它基本上会返回一个新实例):
Pathname("some/path")
# => #<Pathname:some/path>
Run Code Online (Sandbox Code Playgroud)
我一直试图用我的同样的东西复制CustomClass
但是没有成功.我不知道这些方法被调用了什么,我找不到任何可以让我了解如何执行此操作的Ruby代码.我的问题是如何使用类名作为方法?
到目前为止我尝试过的事情:
self.self()
self.class()
class << self
语法我试图获得17位数的列表数字,然后将其拆分Integer.digits
,并得到这些数字的总和.不幸的是我一直在意外行为(我的结果包含一串字母)并且不确定这是一个错误还是个人错误.
下面是iex
错误的控制台,结果给出'Q $'
:
iex(4)> numbers = [
...(4)> [1, 4, 8, 1, 3, 6, 9, 4, 2, 5, 5, 6, 3, 1, 8, 8, 7],
...(4)> [1,5, 9, 4, 1, 3, 2, 7],
...(4)> [1, 5, 4, 6, 5, 7, 8]
...(4)> ]
iex(5)> Enum.map(numbers, fn x -> Enum.sum(x) end)
'Q $'
Run Code Online (Sandbox Code Playgroud)
但是当我从最后一个列表中删除一个数字时,它再次正常工作,并给出预期的结果
iex(1)> numbers = [
...(1)> [1, 4, 8, 1, 3, 6, 9, 4, 2, 5, 5, 6, 3, 1, 8, 8, …
Run Code Online (Sandbox Code Playgroud) 默认情况下,宏会在路由末尾resources
附加一个,用于对单个资源执行操作。/:id
但是,我遇到的情况是,用户必须始终登录才能对自己执行操作。我更喜欢:current_user
从获取conn.assigns
,而不是通过传入/显示 URL 中的任何参数。我知道我总能把路线一一写出来。我只是想知道是否有办法让resources
生成这样的路径。
我想Ecto
使用自定义SQL代码生成新的迁移,而不是使用提供的帮助程序.当前的mix
生成器任务仅处理模型.
如何在迁移中编写原始SQL代码?