Boo (programación)

Na Galipedia, a Wikipedia en galego.
Para outras páxinas con títulos homónimos véxase: Boo.

Boo é un linguaxe de programación orientada a obxectos, de tipos estáticos para a Common Language Infrastructure cunha sintaxe inspirada en Python e unha énfase na extensibilidad da linguaxe e o seu compilador. As súas características inclúen a inferencia de tipos, os xeradores, multimétodos, tipado pato opcional, macros, peches, currificación e funcións de primeira clase.

Boo é open source; ten unha licencia tipo MIT/BSD.

Boo intégrase sen fisuras con Microsoft.NET e Mono.

Índice

[editar] Exemplos de código

[editar] Ola mundo

print "Ola Mundo"

[editar] Función xeradora da Serie de Fibonacci

def fib():
    a as long, b as long = 0, 1
    while true:
        yield b
        a, b = b, a + b

[editar] Exemplo simple de Windows Forms con clases, peches e eventos

import System.Windows.Forms
import System.Drawing

class MyForm(Form):
    def construtor():
        b = Button(Text: "Púlsame")
        b.Location = Point(100, 50)
        b.Click += def():
            MessageBox.Show("!pulsaches o botón!")
        self.Controls.Add(b)
f = MyForm()
Application.Run(f)

[editar] Exemplo simple de Gtk#

import System
import Gtk from "gtk-sharp"
   
public class MyWindow:
    def construtor():
        w = Gtk.Window("Ola Mundo")
            w.DeleteEvent += ExitWindow
        w.ShowAll()
   
    def ExitWindow(ou, args as DeleteEventArgs):
        Gtk.Application.Quit()
   
Gtk.Application.Init()
w = MyWindow()
Gtk.Application.Run()

[editar] Patrón de deseño asíncrono cun peche

import System

def run():
    print("en execución")

print "arrincado"
result = run.BeginInvoke({ print("reclamado") })
System.Threading.Thread.Sleep(50ms)
run.EndInvoke(result)

print "fin"

[editar] Currificación

plusX = { ás int | return { b as int | return a + b }}
print plusX(3)(4)
  • plusX é unha función que toma un enteiro a, que devolve outra función que toma un enteiro b e devolve a+b."

[editar] Véxase tamén

[editar] Outros artigos

[editar] Ligazóns externas

Ferramentas persoais
Espazos de nomes

Variantes
Accións
Navegación
Imprimir/exportar
Caixa de ferramentas
Outras linguas