Size: a a a

2019 February 13

AB

Alexey Bolshakov in pro.elixir
Ахтунг, данжер! Коллеги. Нужны специалисты по DSL!
источник

AB

Alexey Bolshakov in pro.elixir
Рубист прислал такую ссылку
источник

AB

Alexey Bolshakov in pro.elixir
источник

AB

Alexey Bolshakov in pro.elixir
20.usd
10.50.eur
источник

AB

Alexey Bolshakov in pro.elixir
20.usd.to_eur # => (17.7 eur)
источник

AB

Alexey Bolshakov in pro.elixir
а мы так могём?
источник

AB

Alexey Bolshakov in pro.elixir
require './converter.rb'

# currently, currencies are hardcoded and there are only three of them: usd, eur, rub.

# set up conversion rates. This can be fetched from the internet
ExchangeRate.add_rate(:usd, :rub, 68.7448)
ExchangeRate.add_rate(:eur, :rub, 78.4309)
ExchangeRate.add_rate(:eur, :usd, 1.13)

expenses = 11.eur + 1600.rub # => (11 eur, 1600 rub)
expenses += 2.5.eur
expenses += 30.usd
expenses # => (13.5 eur, 1600 rub, 30 usd)
expenses.to_usd # => (68.53 usd)
источник

М

Максим in pro.elixir
Мой ортодоксальный взгляд требует это все в либу упихать и не выпендриваться с дслом
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Alexey Bolshakov
а мы так могём?
Не в объектноориентированном стиле, конечно, могём, т.е. будет как-то так выглядеть to_eur(#20.usd) #17.7eur - условно говоря. Но спрашивается зачем?
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
~cur(20.usd) - точнее какой-нибудь сигилой, а печататься будет как #20.usd
источник

AB

Alexey Bolshakov in pro.elixir
а что такое ~cur?
источник

FM

Fey Martynov in pro.elixir
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Alexey Bolshakov
а что такое ~cur?
h Kernel.sigil_C

                      defmacro sigil_C(term, modifiers)

Handles the sigil ~C for charlists.

It simply returns a charlist without escaping characters and without
interpolations.

## Examples

   iex> ~C(foo)
   'foo'

   iex> ~C(f#{o}o)
   'f\#{o}o'


Можно свою сигилу сделать для currency и назвать её к примеру cur или ещё как-то
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Уже сделали 😃
источник

AB

Alexey Bolshakov in pro.elixir
клево! спасибо!
источник

FM

Fey Martynov in pro.elixir
100.rub в руби конечно весело выглядит синтаксически, но это значит, что либа насыпает методов в класс Integer, т.е. меняет стандартную библиотеку, что ваще грязь
источник

МЛ

Максим Ларионов in pro.elixir
так же как и 10.minutes
источник

FM

Fey Martynov in pro.elixir
ещё потом сделают под любую валюту, тогда Integer будет манкипатчиться динамически
источник

МЛ

Максим Ларионов in pro.elixir
вот это уже звучит страшно
источник

FM

Fey Martynov in pro.elixir
а полный ппц будет, когда запатчат Float 10.50.rub
источник