caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Peng Zang <peng.zang@gmail.com>
To: caml-list@yquem.inria.fr
Cc: "Ben Aurel" <ben.aurel@gmail.com>
Subject: Re: [Caml-list] newbie: how to call a function with multiple parameters?
Date: Tue, 5 Aug 2008 09:26:22 -0400	[thread overview]
Message-ID: <200808050926.25737.peng.zang@gmail.com> (raw)
In-Reply-To: <74a4f4670808041132p757cb91aofd8d0d826dd081b4@mail.gmail.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

You don't pass arguments like you do in C or Java.  In those languages you 
might do:

  somefunction(arg1, arg2, arg3)

In OCaml, you do:

  somefunction arg1 arg2 arg3

In OCaml, "(arg1, arg2, arg3)" means create a 3-tuple.  "somefunction(arg1, 
arg2, arg3)" is interpreted as make a 3-tuple and call "somefunction" on that 
tuple.

You code, therefore, should look like this:


  let print_logic a b =
    Printf.printf "a and b is %B\n" (a && b);
    Printf.printf "a or b is %B\n" (a || b);
    Printf.printf "not a is %B\n" (not a)
  ;;

  print_logic true false;;


Peng

On Monday 04 August 2008 02:32:36 pm Ben Aurel wrote:
> hi
> yeah - the question is low, but I-m struggling on different frontiers
>
> /////////////// print_logic.ml ///////////////////////////////
> ````````````````````````````````````````
> 1 let print_logic a b =
> 2 Printf.printf "a and b is %B\n" (a && b);
> 3 Printf.printf "a or b is %B\n" (a || b);
> 4 Printf.printf "not a is %B\n" (not a)    (* Q1 *)
> 5
> 6 print_logic(true, false);; (* Q2 *)
>
> ```````````````````````````````````````
>
> Problem: the code doesn't compile and I don't find any help on the web.
>
> Questions:
>  (* Q1 *): Somehow I don't get the concept with ";" and ";;". On line
> 4 do I need to end the statement with semicolon double-semicolon or
> nothing?
>
>  (* Q2 *): How can I pass those parameters?
>
>
> Maybe there is something that's else wrong.
>
> thanks
> ben
>
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)

iD8DBQFImFUBfIRcEFL/JewRAuRvAJ4yXnpbBE6wQzBlg66hClZomYWBPACfUabY
rHz86mdOg5FIaSk/bi5O9aE=
=L61/
-----END PGP SIGNATURE-----


      parent reply	other threads:[~2008-08-05 13:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-04 18:32 Ben Aurel
2008-08-05 11:40 ` [Caml-list] " asmadeus77
2008-08-05 11:46 ` micha
2008-08-05 13:26 ` Peng Zang [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200808050926.25737.peng.zang@gmail.com \
    --to=peng.zang@gmail.com \
    --cc=ben.aurel@gmail.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).