コード例 #1
0
ファイル: deflet.php プロジェクト: najomi/najomi.org
<?php

// С помощью deflet можно выполнить участок кода, так что
// определённые/переопределённые функции не будут видны за его пределами
def_printfer("say", "one\n");
say();
deflet(function () {
    def_printfer("say", "two\n");
    say();
});
say();
?>
---
one
two
one
コード例 #2
0
ファイル: _catch-_throw.php プロジェクト: najomi/najomi.org
<?php

def_printfer('puts', "%s\n");
puts('base>');
_catch("first", function () {
    puts('1>');
    _catch("second", function () {
        puts('2>');
        _catch("third", function () {
            puts('3>');
            _throw("second");
            puts('<3');
        });
        puts('<2');
    });
    puts('<1');
});
puts('<base');
?>
---
base>
1>
2>
3>
<1
<base
コード例 #3
0
ファイル: def_printfer.php プロジェクト: najomi/najomi.org
<?php

// def_printfer принимает название функции которую надо создать и шаблон.
// Привызове она будет использовать шаблон как первый аргумент для printf.
def_printfer('h1', '<h1>%s</h1>');
h1('hello!');
?>
---
<h1>hello!</h1>
コード例 #4
0
<?php

def_printfer('p', "%s\n");
p(1);
catcher('warning', function () {
    echo "warning!\n";
});
noise('warning');
p(2);
catcher('warning', function () {
    echo "error!\n";
});
noise('warning');
p(3);
?>
---
1
warning!
2
error!
3
コード例 #5
0
ファイル: run-test.php プロジェクト: najomi/najomi.org
    puts($result);
    puts('');
});
def('print_all_errors', function () {
    puts("\n");
    foreach (Memo::$errors as $v) {
        print_error($v['file'], $v['eval_out'], $v['result']);
    }
});
def('test_files', function ($dir) {
    return glob($dir . '*.php');
});
module('Color', function () {
    def_printfer('reset', chr(27) . "[0m");
    def_printfer('green', chr(27) . "[0;32m");
    def_printfer('red', chr(27) . "[0;31m");
});
$correct = 0;
$total = 0;
$fail = 0;
foreach (test_dirs() as $dir) {
    $prefix = "";
    $suffix = "";
    if (file_exists($dir . 'prerequisite')) {
        if (trim(eval_output(file_get_contents($dir . 'prerequisite'))) != 'ok') {
            echo str_repeat('s', count(test_files($dir)));
            continue;
        }
    }
    if (file_exists($dir . 'prefix')) {
        $prefix = file_get_contents($dir . 'prefix');
コード例 #6
0
ファイル: example.php プロジェクト: najomi/najomi.org
say_one();
// Me: one
def('say_two', function () {
    puts("Me: two");
});
say_two();
// Me: two
def_alias('say_one', 'say_two');
say_two();
// Me: one
////////////////////////////////////////
def_printfer('test_let', "calling outside let \n");
test_let();
// calling outside let
deflet(function () {
    def_printfer('test_let', "calling inside let \n");
    test_let();
    // calling inside let
});
test_let();
// calling outside let
////////////////////////////////////////
# using namespace
def('foo\\bar\\hello', function () {
    echo "Hello, World!\n";
});
foo\bar\hello();
// Hello, World!
////////////////////////////////////////
# Testing def_return
def_return('user_name', 'waserd');