União das linguagens: Java, Javascript, Typescript, Node.js, PHP, Python, Clipper, Rust, C/C++, ASSEMBLY e WebAssembly.
Megusta é uma linguagem de programação e transpilador que permite escrever código em uma sintaxe única e depois "transpilar" para diversas linguagens.
import ouka.Megusta;
public class Main {
public static void main(String[] args) {
Megusta r = new Megusta();
r.rPrintln("Olá, Mundo!");
}
}
javac Main.java java Main
Olá, Mundo!
// rPrint() - Imprime sem quebra de linha
r.rPrint("Olá ");
r.rPrint("Mundo");
// rPrintln() - Imprime com quebra de linha
r.rPrintln();
r.rPrintln("Olá, Mundo!");
// rInput() - Lê entrada do usuário
String nome = r.rInput("Digite seu nome: ");
r.rPrintln("Olá, " + nome + "!");
String original = "Hoje é um lindo dia!"; String substituida = r.strReplace(original, "lindo", "maravilhoso"); r.rPrintln(substituida); // Saída: "Hoje é um maravilhoso dia!"
String minhaString = "Olá, mundo!";
int tamanho = r.strLength(minhaString);
r.rPrintln("O tamanho da string é: " + tamanho); // Saída: 12
String original = "Isso é uma string de exemplo."; String sub = r.strSubstring(original, 8, 13); r.rPrintln(sub); // Saída: "uma s"
String minhaString = "Olá, mundo!";
char primeiro = r.strCharAt(minhaString, 0); // 'O'
char quarto = r.strCharAt(minhaString, 3); // ','
r.rPrintln("Primeiro caractere: " + primeiro);
r.rPrintln("Quarto caractere: " + quarto);
String minhaString = "Isso é um exemplo de indexOf em Java.";
int indice = r.strIndexOf(minhaString, "exemplo");
r.rPrintln("A substring 'exemplo' começa no índice: " + indice); // Saída: 10
String minhaString = "Isso é um exemplo. Outro exemplo.";
int indice = r.strLastIndexOf(minhaString, "exemplo");
r.rPrintln("Última ocorrência: " + indice); // Saída: 26
String minhaString = "OLÁ, MUNDO!"; String resultado = r.strToLowerCase(minhaString); r.rPrintln(resultado); // Saída: "olá, mundo!"
String minhaString = "olá, mundo!"; String resultado = r.strToUpperCase(minhaString); r.rPrintln(resultado); // Saída: "OLÁ, MUNDO!"
boolean resultado1 = r.strEquals("Olá", "Olá"); // true
boolean resultado2 = r.strEquals("Olá", "olá"); // false
boolean resultado3 = r.strEqualsIgnoreCase("Olá", "olá"); // true
r.rPrintln("equals: " + resultado1);
r.rPrintln("equals (case sensitive): " + resultado2);
r.rPrintln("equalsIgnoreCase: " + resultado3);
String[] resultado = r.strSplit("a,b,c", ",");
for (int i = 0; i < r.arrSize(resultado); i++) {
r.rPrintln(resultado[i]);
}
// Saída: a, b, c
String resultado = r.strPadStart("Olá", 6, "0");
r.rPrintln(resultado); // Saída: "00Olá"
String resultado = r.strPadEnd("Olá", 6, "0");
r.rPrintln(resultado); // Saída: "Olá00"
int indice = r.strSearch("abc123", "\\d+");
r.rPrintln("Índice do regex: " + indice); // Saída: 3
int dia = r.dateDay();
r.rPrintln("Dia: " + dia);
int semana = r.dateWeekDay();
r.rPrintln("Dia da semana: " + semana);
int mes = r.dateMonth();
r.rPrintln("Mês: " + mes);
int ano = r.dateYear();
r.rPrintln("Ano: " + ano);
int hora = r.dateHour24();
r.rPrintln("Hora: " + hora);
int minuto = r.dateMinute();
r.rPrintln("Minuto: " + minuto);
int segundo = r.dateSecond();
r.rPrintln("Segundo: " + segundo);
int diaSemana = r.dateSetWeekDay(1997, 4, 28);
r.rPrintln("28/04/1997 foi dia: " + diaSemana); // Saída: 2 (Segunda)
int dia = r.dateDay();
int semana = r.dateWeekDay();
int mes = r.dateMonth();
int ano = r.dateYear();
String[] semanaNomes = {"", "Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"};
String[] mesNomes = {"", "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"};
r.rPrintln(semanaNomes[semana] + ", " + dia + " de " + mesNomes[mes] + " de " + ano);
r.rPrintln("São: " + r.dateHour24() + " horas, " + r.dateMinute() + " minutos e " + r.dateSecond() + " segundos.");
int numero = r.mathInt("123");
r.rPrintln(numero); // Saída: 123
double numero = r.mathNum("12.5");
r.rPrintln(numero); // Saída: 12.5
double resultado = r.mathFloor(3.7); r.rPrintln(resultado); // Saída: 3.0
double resultado = r.mathCeil(3.2); r.rPrintln(resultado); // Saída: 4.0
double resultado = r.mathRound(3.5); r.rPrintln(resultado); // Saída: 4.0
double resultado = r.mathAbs(-5.5); r.rPrintln(resultado); // Saída: 5.5
double resultado = r.mathMax(3.0, 7.0); r.rPrintln(resultado); // Saída: 7.0
double resultado = r.mathMin(3.0, 7.0); r.rPrintln(resultado); // Saída: 3.0
double resultado = r.mathPow(2.0, 3.0); r.rPrintln(resultado); // Saída: 8.0
double resultado = r.mathSqrt(16.0); r.rPrintln(resultado); // Saída: 4.0
double resultado = r.mathRandom(); r.rPrintln(resultado); // Saída: 0.xxxxx
String resultado = r.mathDecimalFormat(123.456789, "#.###"); r.rPrintln(resultado); // Saída: "123.457"
String[] frutas = {};
r.arrAdd(frutas, "Banana");
r.arrAdd(frutas, "Maçã");
r.arrAdd(frutas, "Uva");
String[] frutas = {"Banana"};
r.arrAddAll(frutas, "Maçã", "Uva", "Morango");
r.arrSet(frutas, 1, "Laranja");
String fruta = r.arrGet(frutas, 0); r.rPrintln(fruta); // Saída: "Banana"
int tamanho = r.arrSize(frutas);
r.rPrintln("Tamanho: " + tamanho);
r.arrRemove(frutas, 1);
r.arrClear(frutas);
boolean contem = r.arrContains(frutas, "Banana");
r.rPrintln("Contém Banana: " + contem);
int indice = r.arrIndexOf(frutas, "Maçã");
r.rPrintln("Índice: " + indice);
int indice = r.arrLastIndexOf(frutas, "Maçã");
r.rPrintln("Último índice: " + indice);
r.rSaveFile("meu_arquivo.txt", "Conteúdo do arquivo");
String conteudo = r.rOpenFile("meu_arquivo.txt");
r.rPrintln(conteudo);
String conteudo = r.rOpenFileWeb("https://www.ouka.com.br/meu_arquivo.txt");
r.rPrintln(conteudo);
int status = r.rOpenFileWebStatus();
r.rPrintln("Status HTTP: " + status);
r.rOpenProgram("java -jar MeuApp.jar");
import ouka.Megusta;
public class ExemploCompleto {
public static void main(String[] args) {
Megusta r = new Megusta();
// String
String nome = r.rInput("Digite seu nome: ");
r.rPrintln("Olá, " + nome + "!");
// Data
int dia = r.dateDay();
int mes = r.dateMonth();
int ano = r.dateYear();
r.rPrintln("Data: " + dia + "/" + mes + "/" + ano);
// Matemática
r.rPrintln("2^10 = " + r.mathPow(2, 10));
r.rPrintln("√144 = " + r.mathSqrt(144));
// Arrays
int[] numeros = {};
r.arrAdd(numeros, 10);
r.arrAdd(numeros, 20);
r.arrAdd(numeros, 30);
for (int i = 0; i < r.arrSize(numeros); i++) {
r.rPrintln("Número " + i + ": " + r.arrGet(numeros, i));
}
// Arquivo
r.rSaveFile("saida.txt", "Resultado do programa");
r.rPrintln("Arquivo salvo com sucesso!");
}
}
Correções feitas pela SNN Asael e fera do apocalipse