コード例 #1
0
ファイル: ListTest.php プロジェクト: tarsana/functional
 public function test_last()
 {
     $this->assertEquals(3, F\last([1, 2, 3]));
     $this->assertEquals('o', F\last('Hello'));
     $this->assertEquals(7, F\last([7]));
     $this->assertNull(F\last([]));
     $this->assertEquals('', F\last(''));
 }
コード例 #2
0
ファイル: generate-docs.php プロジェクト: tarsana/functional
/**
 * @type DocBlock
 * Documentation block of a function.
 *
 * @field type String
 * @field name String
 * @field args [Arg]
 * @field return String
 * @field signatures [String]
 * @field description String
 * @field is_internal Boolean
 * @field is_static Boolean
 */
function block($data)
{
    $keywords = keywords($data);
    return (object) ['type' => typeOf($data), 'name' => isset($data->ctx->name) ? $data->ctx->name : F\last($keywords), 'args' => argsOf($data), 'return' => returnOf($data), 'signatures' => signaturesOf($data), 'description' => $data->description->full, 'is_static' => in_array('static', $keywords), 'is_internal' => in_array('private', $keywords) || in_array('protected', $keywords) || 0 < F\length(tags('internal', $data))];
}
コード例 #3
0
ファイル: SyntaxSyntax.php プロジェクト: tarsana/syntax
 /**
  * Transforms a string to syntax.
  *
  * @param  string $text the string to parse
  * @return Tarsana\Syntax\Syntax
  */
 protected function doParse($text)
 {
     $txt = $text;
     if (F\head($text) == '[' && F\last($text) == ']') {
         $txt = F\init(F\tail($text));
     }
     if ($this->isObject($txt)) {
         return $this->parseObject($text);
     }
     if ($this->isArray($txt)) {
         return $this->parseArray($text);
     }
     if ($this->isNumber($txt)) {
         return $this->parseNumber($text);
     }
     if ($this->isBoolean($txt)) {
         return $this->parseBoolean($text);
     }
     if ($this->isString($txt)) {
         return $this->parseString($text);
     }
     return null;
 }