3Mvou3S8CfyoM5FacxSfmrKJEUo6hcaccv1 · data · EnvioDadosEmTextoEcoded
{
"EnvioDadosEmTextoEcoded": "CATEGORIAS: ATUALIZAÇÃO, DESENVOLVIMENTO, REPL, SURFBOARD
Com a última versão do surfboard, a interface da Linha de comando para trabalhar com a linguagem de programação RIDE um novo comando está agora disponível: surfboard repl . – um recurso-completo Read-Print-Eval-Loop para Ride. Ele permite testes e aprendizados muito mais rápidos e também fornece uma biblioteca padrão abrangente de funções embutidas e definições de constantes. A partir de hoje, esta funcionalidade também está disponível na Waves IDE.
RIDE REPL para IDE e surfboard
RIDE REPL na surfboard CLI
RIDE REPL na Waves IDE
O novo recurso já está disponível em ambos Waves IDE e surfboard CLI. Se você prefere surfboard, por favor Instale / atualize a ferramenta:
npm i -g @waves/surfboard
Quando lançado, repl surfboard será parecido com isto:
{ ~ } » surfboard repl
Welcome to RIDE repl
Compiler version 1.1.3-x-xxxxxx
You can use ?{term} to look up a specific definition, ?? to get the full context
:clear to clear console, :reset to restart repl, .editor to enter multiline
RIDE >
Características REPL
RIDE REPL praticamente segue os padrões de outros REPLs, apoiando plenamente a sintaxe e semântica da linguagem.
Definindo e usando funções e variáveis:
RIDE > 2 + 2
res1: Int = 4
RIDE > let x = 42
defined let x: Int
RIDE > func inc(i:Int) = i + 1
defined func inc(i: Int): Int
RIDE > inc(inc(res1)) + inc(x)
res4: Int = 49
Todas as funções de criptografia também estão disponíveis:
RIDE > sha256(base58'')
res3: ByteVector = GKot5hBsd81kMupNCXHaqbhv3huEbxAFMLnpcX2hniwn
Trabalhando com blockchain online
Se você precisa experimentar API baseada na blockchain como height , getInteger(account,key)no surfboard, Garanta que o seu surfboard.config.json está adequadamente configurado. Para começar, basta surfboard init em uma pasta vazia. O endPoint utilizado é o configurado sob a seção API_BASE, this é derivado a partir da SEED e seção CHAIN_ID. O guia do usuário geral pode ser encontradas no github.
O IDE utiliza o endPoint configurada em Settings e conta selecionada para this .
RIDE > height
res3: Int = 41806
RIDE > getInteger(this, "dataKey")
res2: Int|Unit = 42
Explorando a biblioteca padrão
Você pode consultar a função de assinatura, digite definição ou declare o valor, utilizando o comando ? :
RIDE > ? getInteger
func getInteger(data: List[DataEntry], key: String): Int|Unit
func getInteger(data: List[DataEntry], index: Int): Int|Unit
func getInteger(addressOrAlias: Address|Alias, key: String)
: Int|Unit
?? despeja todas as definições existentes.
Desde definições de valor do RIDE são imutáveis, você não pode redefini-los em REPL. O comando :reset limpa estado REPL, removendo todas as definições existentes.
O .editor entra no modo de várias linhas para que você possa digitar ou colar uma maior bloco, expressão ou múltiplas definições.
FOLD<N> macro suportado
A explicação detalhada deste recurso pode ser encontrado aqui.
RIDE > func sum(a:Int, b:Int) = a + b
defined func sum(a: Int, b: Int): Int
RIDE > let arr = [1,2,3,4,5]
defined let arr: List[Int]
RIDE > FOLD<5>(arr, 0, sum)
res1: Int = 15
TL; DR: surfboard repl é a maneira mais fácil de experimentar a linguagem RIDE e sua semântica de execução. Não há necessidade de escrever, implementar e usar o contrato completo para verificar se sha256(base58'') ou "x|x||".split("|") funciona como esperado, 1-linha em REPL pode responder a maioria das perguntas.
Agradecimentos à Vitaly Fedosov."
}
Changelog:
{
"2019.12.30 01:13": "CATEGORIAS: ATUALIZAÇÃO, DESENVOLVIMENTO, REPL, SURFBOARD
Com a última versão do surfboard, a interface da Linha de comando para trabalhar com a linguagem de programação RIDE um novo comando está agora disponível: surfboard repl . – um recurso-completo Read-Print-Eval-Loop para Ride. Ele permite testes e aprendizados muito mais rápidos e também fornece uma biblioteca padrão abrangente de funções embutidas e definições de constantes. A partir de hoje, esta funcionalidade também está disponível na Waves IDE.
RIDE REPL para IDE e surfboard
RIDE REPL na surfboard CLI
RIDE REPL na Waves IDE
O novo recurso já está disponível em ambos Waves IDE e surfboard CLI. Se você prefere surfboard, por favor Instale / atualize a ferramenta:
npm i -g @waves/surfboard
Quando lançado, repl surfboard será parecido com isto:
{ ~ } » surfboard repl
Welcome to RIDE repl
Compiler version 1.1.3-x-xxxxxx
You can use ?{term} to look up a specific definition, ?? to get the full context
:clear to clear console, :reset to restart repl, .editor to enter multiline
RIDE >
Características REPL
RIDE REPL praticamente segue os padrões de outros REPLs, apoiando plenamente a sintaxe e semântica da linguagem.
Definindo e usando funções e variáveis:
RIDE > 2 + 2
res1: Int = 4
RIDE > let x = 42
defined let x: Int
RIDE > func inc(i:Int) = i + 1
defined func inc(i: Int): Int
RIDE > inc(inc(res1)) + inc(x)
res4: Int = 49
Todas as funções de criptografia também estão disponíveis:
RIDE > sha256(base58'')
res3: ByteVector = GKot5hBsd81kMupNCXHaqbhv3huEbxAFMLnpcX2hniwn
Trabalhando com blockchain online
Se você precisa experimentar API baseada na blockchain como height , getInteger(account,key)no surfboard, Garanta que o seu surfboard.config.json está adequadamente configurado. Para começar, basta surfboard init em uma pasta vazia. O endPoint utilizado é o configurado sob a seção API_BASE, this é derivado a partir da SEED e seção CHAIN_ID. O guia do usuário geral pode ser encontradas no github.
O IDE utiliza o endPoint configurada em Settings e conta selecionada para this .
RIDE > height
res3: Int = 41806
RIDE > getInteger(this, "dataKey")
res2: Int|Unit = 42
Explorando a biblioteca padrão
Você pode consultar a função de assinatura, digite definição ou declare o valor, utilizando o comando ? :
RIDE > ? getInteger
func getInteger(data: List[DataEntry], key: String): Int|Unit
func getInteger(data: List[DataEntry], index: Int): Int|Unit
func getInteger(addressOrAlias: Address|Alias, key: String)
: Int|Unit
?? despeja todas as definições existentes.
Desde definições de valor do RIDE são imutáveis, você não pode redefini-los em REPL. O comando :reset limpa estado REPL, removendo todas as definições existentes.
O .editor entra no modo de várias linhas para que você possa digitar ou colar uma maior bloco, expressão ou múltiplas definições.
FOLD<N> macro suportado
A explicação detalhada deste recurso pode ser encontrado aqui.
RIDE > func sum(a:Int, b:Int) = a + b
defined func sum(a: Int, b: Int): Int
RIDE > let arr = [1,2,3,4,5]
defined let arr: List[Int]
RIDE > FOLD<5>(arr, 0, sum)
res1: Int = 15
TL; DR: surfboard repl é a maneira mais fácil de experimentar a linguagem RIDE e sua semântica de execução. Não há necessidade de escrever, implementar e usar o contrato completo para verificar se sha256(base58'') ou "x|x||".split("|") funciona como esperado, 1-linha em REPL pode responder a maioria das perguntas.
Agradecimentos à Vitaly Fedosov."
}