> let (||>) f g = g f;;
val ( ||> ) : 'a -> ('a -> 'b) -> 'b
> 1 ||> (+) 2;;
val it : int = 3
同样的,函数合成的用法与以下函数的用法相同。
我的函数合成运算符
> let (<<) f g x = f (g x);;
val ( << ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
> let (>>) f g x = g (f x);;
val ( >> ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c
> ((( * ) 2) >> ((+)1)) 10;;
val it : int = 21
> ((( * ) 2) << ((+)1)) 10;;
val it : int = 22
本节中所有示例程序运行如下
本节中示例程序
> -7;;
val it : int = -7
> 7 + 2;;
val it : int = 9
> 7 - 2;;
val it : int = 5
> 7 * 2;;
val it : int = 14
> 7 / 2;;
val it : int = 3
> 7 % 2;;
val it : int = 1
> 7.0 +2.0;;
val it : float = 9.0
> 7.0 -2.0;;
val it : float = 5.0
> 7.0 *2.0;;
val it : float = 14.0
> 7.0 /2.0;;
val it : float = 3.5
> 1=2;;
val it : bool = false
> 1<>2;;
val it : bool = true
> 1<2;;
val it : bool = true
> 1>2;;
val it : bool = false
> 1<=2;;
val it : bool = true
> 1>=2;;
val it : bool = false
> 1==2;;
val it : bool = false
> 1!=2;;
val it : bool = true
> not true;;
val it : bool = false
> 1<=2 && 2<=3;;
val it : bool = true
> 1<=2 || 2<=1;;
val it : bool = true
> "hello" ^ "world";;
val it : string = "helloworld"
> 1::[4;5;6;];;
val it : int list = [1; 4; 5; 6]
> [1;2;3;] @ [4;5;6;];;
val it : int list = [1; 2; 3; 4; 5; 6]
> 1 |> (+) 2;;
val it : int = 3
> 1|> (+) 2 |> ( * ) 3;;
val it : int = 9
> let (<<) f g x = f (g x);;
val ( << ) : ('a -> 'b) -> ('c -> 'a) -> 'c -> 'b
> let (>>) f g x = g (f x);;
val ( >> ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c
> ((( * ) 2) >> ((+)1)) 10;;
val it : int = 21
> ((( * ) 2) << ((+)1)) 10;;
val it : int = 22