Alexey
10.01.2018
11:32:06
я понял
Evgeny
10.01.2018
11:33:06
одну ошибку убрал, так как msg нет в hello:
IO.puts("##{tag} #{unquote(msg)}")
то есть msg засунул в unquote, а вот с tag не знаю что делать.
Все разобрался
Google
Alexey
10.01.2018
11:35:43
как?
Evgeny
10.01.2018
11:36:03
нужно обернуть tag в var!()
по умолчанию макро не тащит переменные из контекста
а чтобы тащил надо делать var!(имя_переменной)
Alexey
10.01.2018
11:36:30
ога. гигиена
спасибо за инфу
Evgeny
10.01.2018
11:36:53
пожалуйста :)
Alexey
10.01.2018
11:37:09
defmodule Tag do
defmacro put_tag(msg) do
quote do
IO.puts("##{var!(tag)} #{unquote(msg)}")
end
end
def hello(tag) do
put_tag("hello")
end
end
Tag.hello("tag")
получается
#tag hello
Evgeny
10.01.2018
11:37:26
ага
именно так
а я уже испужался, что эликсировские макро таких простых вещей не умеют делать :)
Alexey
10.01.2018
11:38:04
вчера вот, буквально, похожим вопросом был озадачен. но решил иначе
Google
Dmitry
10.01.2018
11:43:14
Не знаю конечно зачем, но так переменные вылавливать опасно.
В макро.
Evgeny
10.01.2018
11:43:41
да, поэтому оно и отключено по-умолчанию
я на уровне модуля хочу вставлять в логи определенные теги
которые известны только в рантайме при вызове функции
а повторять одно и тоже совсем не хочется
Alexey
10.01.2018
11:49:20
Dmitry
10.01.2018
11:55:10
Eugene атрибут модуля? '@tag'
Evgeny
10.01.2018
11:55:35
атрибут модуля это насколько я знаю comile-time константа
алиасы, оказывается, можно использовать и внутри метода
Dmitry
10.01.2018
11:59:44
Ааа, сорри. А как тогда на уровне модуля?
Обычно есть необходимость на уровне процесса делать такие вещи.
И тогда они кладутся в process dict.
Evgeny
10.01.2018
13:03:11
мне даже скорее не на уровне модуля, а на уровне функции
Any
10.01.2018
14:20:18
гайз, а как юзать паттерн матчинг в блоке rescue?
вот типа того:
rescue
%HTTPoison.Error{reason: :timeout} -> render(conn, "show.html", account: account)
Evgeny
10.01.2018
14:21:23
И опять я.
Если мой метод тупо возвращает константную мапу, то будет ли этот метод как-то оптимизирован, чтобы эта мапа не пересоздавалась каждый раз при вызове функции? Что-то типа такого:
def sizes(), do: %{a: 1, b: 2, c: 3}
Any
10.01.2018
14:27:12
Evgeny
10.01.2018
14:27:57
а в атрибуты модуля можно пихать мапы?
Google
Any
10.01.2018
14:28:08
можно
Evgeny
10.01.2018
14:28:21
спасибо, попробую
Dmitry
10.01.2018
14:52:26
Она и так и так константной будет
def sizes(), do: %{a: 1, b:2} не будет создавать новой мапы
dimcha
11.01.2018
07:35:27
Друзья скинули узнав что я пишу на эликсире...
Alister
11.01.2018
07:44:15
Я рубист
И это задевает мои чувства
dimcha
11.01.2018
07:44:57
Чувства того мужика тоже задеты ?
Azat
11.01.2018
08:08:58
А если бы на картинке девушка писала на хаскеле, то была качком в добавок
Slava
11.01.2018
08:09:48
стало быть, если на расте, то девушка-качок с тоненькими ногами
Alister
11.01.2018
08:12:05
А если на перле, то у нее была бы борода
ⰿⰰⰾⱏ
11.01.2018
08:14:49
Azat
11.01.2018
08:15:04
борода, плавно переходящая в свитер
Alexey
11.01.2018
08:15:07
Ruby
https://pp.userapi.com/c604518/v604518366/3f66a/UjsGH9oMYfI.jpg
Perl
https://pp.userapi.com/c604518/v604518366/3f6a0/4GicknxvXC0.jpg
Erlang
https://pp.userapi.com/c604518/v604518366/3f64f/7os3Hlor-Uo.jpg
итд
Dan
11.01.2018
08:18:04
продолжай)
Roman
11.01.2018
08:18:04
По глазам видно, что она на всех этих языках пишет свободно
Google
Alexey
11.01.2018
08:18:43
продолжай)
Python
https://pp.userapi.com/c604518/v604518366/3f658/JSMP0Q3N0Ek.jpg
alteregoizm
11.01.2018
08:19:17
вы хоть nsfw пишите
Alister
11.01.2018
08:21:19
А есть жабий скрип?
Alexey
11.01.2018
08:22:03
JS
https://pp.userapi.com/c604518/v604518366/3f685/QcKN4fPiaSo.jpg
Anton
11.01.2018
08:23:19
Java?
alteregoizm
11.01.2018
08:23:31
а скиньте весь календарь плз :)
Alexey
11.01.2018
08:23:52
Друг попросил? )))
alteregoizm
11.01.2018
08:23:59
коллега :D
Никита
11.01.2018
08:25:52
Народ, мож сталкивался кто?
Есть замечательная таблица guardian_db
create table(:guardian_tokens, primary_key: false) do
add(:jti, :string, primary_key: true)
add(:aud, :string, primary_key: true)
C чудесным композитным ключем.
мне надо другую таблицу привязать, чтобы при удалении записи гардиан_дб удалялась и связанная запись.
Делаю миграцию
add :jti, references(:guardian_tokens, column: :jti, name: :jti, type: :string, on_delete: :delete_all)
А оно материцо ERROR 42830 (invalid_foreign_key): there is no unique constraint matching given keys for referenced table "guardian_tokens"
Alister
11.01.2018
08:26:58
Оно ж прямым текстом говорит что нет форин ки
Никита
11.01.2018
08:27:31
Ну это я понял примерно)))))
чего делать то? гугление не помогает
Alister
11.01.2018
08:28:41
Ты на таблицу с которой удаление делать собираешься форин ки накинул?
Никита
11.01.2018
08:29:22
Т.е мне надо добавить какой-то ключ к таблице где композитный примари?
Alexey
11.01.2018
08:31:01
Январь - Erlang
https://pp.userapi.com/c604518/v604518366/3f64f/7os3Hlor-Uo.jpg
Февраль - Python
https://pp.userapi.com/c604518/v604518366/3f658/JSMP0Q3N0Ek.jpg
Март - Swift
https://pp.userapi.com/c604518/v604518366/3f661/DCSyRSP2fJw.jpg
Апрель - Ruby
https://pp.userapi.com/c604518/v604518366/3f66a/UjsGH9oMYfI.jpg
Май - Java
https://pp.userapi.com/c604518/v604518366/3f673/yVXr4rRmGO4.jpg
Июнь - C#
https://pp.userapi.com/c604518/v604518366/3f67c/nqUVXw382y0.jpg
Июль - JS
https://pp.userapi.com/c604518/v604518366/3f685/QcKN4fPiaSo.jpg
Август - asm
https://pp.userapi.com/c604518/v604518366/3f68e/gFNfNHmanbY.jpg
Сентябрь - C
https://pp.userapi.com/c604518/v604518366/3f697/MKAEgKxZ0KI.jpg
Октябрь - perl
https://pp.userapi.com/c604518/v604518366/3f6a0/4GicknxvXC0.jpg
Ноябрь - php
https://pp.userapi.com/c604518/v604518366/3f6a9/ysaBST1h160.jpg
Декабрь - C++
https://pp.userapi.com/c604518/v604518366/3f6b2/wDPZWaJSuVY.jpg
Aldar
11.01.2018
08:32:38
Там не С, а С++
Alexey
11.01.2018
08:32:57
я вообще кода нигде не увидел
Никита
11.01.2018
08:34:21
@acrawley дык получается пытаюсь накинуть, а он, зараза, не накидывается)
Alister
11.01.2018
08:34:25
Хули у нее хеловорлды повсюду
Aldar
11.01.2018
08:34:51
на грудях плюсы, вон оно что
Google
Alister
11.01.2018
08:35:05
Нельзя какой-то прикольный однострочник влепить с вариадик темплейтами?
Yuri
11.01.2018
08:35:59
как-то так..
Roman
11.01.2018
08:36:13
это C#, где июнь