给定磁盘上文件的路径,以字节为单位检索文件大小的最惯用方法是什么?
path = "/tmp/some_file.txt"
Run Code Online (Sandbox Code Playgroud) 默认情况下,Remix.run 运行时似乎使用端口 3000 进行本地开发:
\n\xe2\x9d\xaf npm run dev\n\n> dev\n> concurrently "npm run dev:css" "remix dev"\n\n[0]\n[0] > dev:css\n[0] > tailwindcss -o ./app/styles/tailwind.css --watch\n[0]\n[1] Watching Remix app in development mode...\n[1] Built in 161ms\n[1] Remix App Server started at http://localhost:3000\n\nRun Code Online (Sandbox Code Playgroud)\n如何更改它运行的端口?
\n这是一个理论问题,但假设数据结构不能改变,这肯定是我们想要进行查询的方式.这个问题更多的是为了更好地理解如何where动态组合过滤器而不是实际想要从这样的查询中获取结果.
想象一个带有Car表的数据库,其中每辆车都有一个manufacturer_id包含ID 的列,例如"BD324"或"GM512",其中"BD"和"GM"被视为前缀.
我们需要在汽车表上进行查找,以便当汽车的manufacturer_id前缀与给定的一组前缀匹配时返回汽车.所以,给出一个前缀列表:
prefixes = ["BD", "GM", "EX", "RD", "DE"]
Run Code Online (Sandbox Code Playgroud)
..we'd想返回有所有汽车manufacturer_id与启动任何所列出的那些.即(如x 或类似y 或类似z).
以下Elixir/Ecto代码将搜索一个前缀:
search_prefix = Enum.at(prefixes, 0) <> "%"
from c in Car, where: like(c.manufacturer_id, ^search_prefix)
Run Code Online (Sandbox Code Playgroud)
我们如何where根据prefixes列表建立条款?
在Python中:
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
Run Code Online (Sandbox Code Playgroud)
它基本上采用可迭代的方式,并将每个项目的索引添加到项目本身.
Elixir中是否有相同的名称?
Dict从Elixir v1.2开始,该模块已被软推弃.我们现在处于1.4,它引发了警告:
不推荐使用Dict.merge/2,使用Map模块处理地图或使用Keyword模块处理关键字列表
Dict.merge曾经像这样工作:
iex(1)> animals_keyword_list = [cats: 2, dogs: 1]
[cats: 2, dogs: 1]
iex(2)> animals_map = %{cats: 3, rabbits: 1}
%{cats: 3, rabbits: 1}
iex(3)> Dict.merge(animals_map, animals_keyword_list)
%{cats: 2, dogs: 1, rabbits: 1}
Run Code Online (Sandbox Code Playgroud)
处理简单关键字列表的最佳方法是什么 - >地图合并前进?