Here are commons ways to reuse logic in Elixir:
1a. Move Function to other module (guards, pattern-matching) 1b. Protocol - Polymorphism
- Behaviour Dynamic-func - with def method_name(implemetation, args)
| # Install asdf | |
| brew install coreutils git | |
| git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.12.0 | |
| cat <<EOF >> ~/.zshrc | |
| . "$HOME/.asdf/asdf.sh" | |
| # append completions to fpath | |
| fpath=(${ASDF_DIR}/completions $fpath) | |
| # initialise completions with ZSH's compinit | |
| autoload -Uz compinit && compinit | |
| EOF |
| FROM keybaseio/client:stable-slim | |
| RUN apt-get update && apt-get install -y expect | |
| COPY keybase-provision.sh /provision.sh | |
| RUN chmod +x /provision.sh | |
| CMD ["/provision.sh", "keybase", "chat", "send", "--channel", "'#general'", "stockbitcrypto", "'Hello World from bot'"] |
| package main | |
| import ( | |
| "fmt" | |
| "net/http" | |
| "time" | |
| "github.com/aws/aws-sdk-go/aws" | |
| "github.com/aws/aws-sdk-go/aws/credentials" | |
| "github.com/aws/aws-sdk-go/aws/session" |
| defmodule FlattenArray do | |
| @doc """ | |
| Accept a list and return the list flattened without nil values. | |
| ## Examples | |
| iex> FlattenArray.flatten([1, [2], 3, nil]) | |
| [1,2,3] | |
| iex> FlattenArray.flatten([nil, nil]) |
brew update
brew install asdf [email protected]
EDITOR=nano brew edit wxmac # Edit the file according to wxmac.patch
brew install wxmac --build-from-source
asdf plugin add erlang
asdf plugin add elixir| package main | |
| import ( | |
| "bytes" | |
| "encoding" | |
| "encoding/binary" | |
| "io" | |
| "fmt" | |
| "stockbit.com/proto/ouch42" |
| module slice | |
| func InterfaceSlice(slice interface{}) []interface{} { | |
| switch slice := slice.(type) { | |
| case []string: | |
| new := make([]interface{}, len(slice)) | |
| for i, v := range slice { | |
| new[i] = v | |
| } | |
| return new |
| let decimals = 4; | |
| const regexpDecimals = new RegExp(`^\\d*\\.{0,1}\\d{0,${decimals}}$`); | |
| const SignupSchema = Yup.object().shape({ | |
| decimal: Yup.number().test( | |
| 'is-decimal', | |
| 'too many decimals', | |
| value => (value + "").match(regexpDecimals), | |
| ), | |
| }); |