Перенос страниц
This commit is contained in:
		
							parent
							
								
									4d57446057
								
							
						
					
					
						commit
						4c954c9186
					
				
					 129 changed files with 14 additions and 15 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
import std.stdio;
 | 
			
		||||
 | 
			
		||||
T[] find(alias pred, T)(T[] input)
 | 
			
		||||
    if (is(typeof(pred(input[0])) == bool))
 | 
			
		||||
{
 | 
			
		||||
    for (; input.length > 0; input = input[1 .. $])
 | 
			
		||||
    {
 | 
			
		||||
        if (pred(input[0])) break;
 | 
			
		||||
    }
 | 
			
		||||
    return input;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
unittest
 | 
			
		||||
{
 | 
			
		||||
    int zero = 0;
 | 
			
		||||
 | 
			
		||||
    bool isTypeLow(int x)
 | 
			
		||||
    {
 | 
			
		||||
        return x < zero;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static bool isTypeBig(int x)
 | 
			
		||||
    {
 | 
			
		||||
        // Из-за static zero не будет видно внутри функции
 | 
			
		||||
        return x > zero;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    int[] a = [ 1, 2, 3, 4, -5, 3, -4 ];
 | 
			
		||||
    // Найти первое отрицательное число
 | 
			
		||||
    auto b = find!(isTypeLow)(a).dup;
 | 
			
		||||
    writeln(b);
 | 
			
		||||
    auto c = find!(isTypeBig)(b);
 | 
			
		||||
    writeln(c);
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue