1. 程式人生 > >用逗號分隔引數不太科學——S表示式才是王道

用逗號分隔引數不太科學——S表示式才是王道

    最近在寫php程式和sql語句時用到了這種寫法:

select
    a
    ,b
    ,c
from
    table
where
    a='1'
    AND b='2'
    OR c='3'
<?php

fn(1
    ,2
    ,3);

    覺得這樣寫以後方便改東西。 但想想還是沒php的陣列來得方便。php陣列可以寫成這樣:

<?php
$arr = array(
    1,
    2,
    3,
);

    這個逗號,golang還要強制你寫。但後來猛的一想,寫了個例子。

#lang racket
(define (test a b c)
  (
+ a b c)) (test 1 2 3 )

    因為lisp的s表示式是用空格、製表符、及回車這樣“看不到”的字元分離引數, 所以實現起來毫無問題。

    另外我覺得上面sql語句的where部分表達的不太清晰——沒sql經驗的人一眼看不明白。我還是寫一個區域性用S表示式改寫的sql語句。

select
(
    a
    b
    c
)
from
    table
where
(OR
 (= c '3')
 (AND 
  (= a '1')
  (= b '2')))