Linguagens de programação não são algo especial. "code is data".
We've been deadlocked for a while on the pipeline operator proposal, for a few reasons. Partially it's just low implementor interest, as this is fundamentally just syntactic sugar, but also because there are three competing proposals and the proponents of each haven't been convinced by the others yet.
In this essay I hope to briefly outline the problem space, summarize the three proposals, and talk about what's gained/lost by each of them. (Spoiler: they're all nearly identical; we're arguing over very small potatoes.)
(require '[paprika.schemas :as schemas] | |
'[cheshire.core :as json]) | |
(def Person {:name schemas/NonEmptyStr | |
:surname schemas/NonEmptyStr | |
:cpf (schemas/digits-string 11) | |
:birth-date schemas/Date}) | |
(def as-person (schemas/coercer-for Person)) |
raise 'Wrong Ruby version!' unless RUBY_VERSION >= '2.6.0' | |
module Strings | |
Trim = -> str { String(str).strip } | |
Replace = -> (sub, new_sub, str) { String(str).gsub(sub, new_sub) } | |
LowerCase = -> str { String(str).downcase } | |
end | |
# -- Alternative syntax -- | |
Slugify = # Slugify = |
(require '[clojure.string :as s]) | |
(declare print-maze) | |
;; Maze GENERATION | |
(defn create-grid [rows cols] | |
(vec (repeat rows (vec (repeat cols #{}))))) | |
(defn north-of [[row col]] [(dec row) col]) | |
(defn south-of [[row col]] [(inc row) col]) |
Se você quiser adicionar mais algum tópico deixe seu comentário, o objetico é facilitar para os iniciantes ou aqueles que buscam dominar JavaScript, quais tópicos são importantes para dominar JavaScript.
São tópicos para quem sabe o minimo de JavaScript (declarar variáveis), a ordem em que eles aparecem são por importância para o dominio como um todo. Mesmo que você já tenha experiência com JS, recomendo que leia os links de cada tópico para fortalecer suas bases teóricas e ter um comportamento mais profundo da linguagem.
Lista originalmente criada e compilada por Vinicius Reis
FWIW: I (@rondy) am not the creator of the content shared here, which is an excerpt from Edmond Lau's book. I simply copied and pasted it from another location and saved it as a personal note, before it gained popularity on news.ycombinator.com. Unfortunately, I cannot recall the exact origin of the original source, nor was I able to find the author's name, so I am can't provide the appropriate credits.
- By Edmond Lau
- Highly Recommended 👍
- http://www.theeffectiveengineer.com/
Picking the right architecture = Picking the right battles + Managing trade-offs
- Clarify and agree on the scope of the system
- User cases (description of sequences of events that, taken together, lead to a system doing something useful)
- Who is going to use it?
- How are they going to use it?
Simply put, destructuring in Clojure is a way extract values from a datastructure and bind them to symbols, without having to explicitly traverse the datstructure. It allows for elegant and concise Clojure code.