Re: [Linux-programlama] programlama sorusu ?

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Recai Oktas (roktas@omu.edu.tr)
Date: Fri 06 Jan 2006 - 05:44:18 EET


* Nejat AYDIN [2006-01-06 04:48:12+0200]
> Mehmet Fatih AKBULUT wrote:
> >cook tskler. [iki $ eksigi yuzunden baya bi kastim dogrusu.]
>
> Sorunun kaynağı '$' eksiği değil, boşluk fazlasıydı (diğer mesajıma
> bakınız). $((...)) ifadesinin içindeki değişken isimlerinin önüne
> '$' koymanız gerekmez. Hatta dizinin indeksi de bir aritmetik ifade
[...]

Bash (veya diger bazilarinda ?) gerekmedigi dogru, ama bu tip ifadelerde
olasi tasinabilirlik problemlerine binaen bir miktar idiyomatik davranmak
daha uygun olur. O yuzden ben $'lari eklerim/ekledim (VIM'in sozdizimi
renklendirmesinde degiskenlerin isildamasi da bonusu oluyor :-).

Standartlar ne diyor veya demiyor, ilgili POSIX belgelerine bakmak lazim.
Asagidaki karsilastirma bash/dash icin, ash'de de muhtemelen ayni sonuclar
alinacaktir:

    $ bash -c 'foo=1; bar=2; echo $((foo + bar))'
    3
    $ dash -c 'foo=1; bar=2; echo $((foo + bar))'
    dash: arith: syntax error: "foo + bar"
    $ dash -c 'foo=1; bar=2; echo $(($foo + $bar))'
    3

-- 
roktas
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.