【普通のやつらの】 Arc Language 0 【上を行け】 at TECH
[2ch|▼Menu]
144:デフォルトの名無しさん
08/03/02 14:17:36
Arcからの挑戦
URLリンク(practical-scheme.net)

単純な問題を、挑戦として示すことにしよう。
そして、ポピュラーな言語での解答を集めて、その長さを比べてみるつもりだ。

次のようなプログラムを書け。
URL said (例えば URLリンク(localhost:port) )は、入力フィールドひとつと、送信ボタンひとつのページを生成する。
送信ボタンが押されたら、2番めのページとして、"click here." と書かれたリンクひとつのページを生成する。
それがクリックされたら、3番めのページとして、"you said: ..." と書かれたページにいく。
ここで ... は、さっきの入力フィールドにユーザがタイプしたものだ。
ただし、3番めのページは、ユーザが実際にタイプしたものだけを表示すること。
つまり、入力フィールドの値を URL で渡してはいけない。そうしないと、最後のページの動作をURLで変えるようなことができてしまう。

単純だし、このようなテストに求められるように、これは例として不自然ではない。
Webアプリは、このようなことをいつもやっているのだ。あるいは、何か難解なライブラリ(Arcにあって他の言語にはないような)に頼るわけでもない。Webアプリを書くのに使われる言語なら当然もっているものだけでいい。

これが Arc の答えだ:

(defop said req
 (aform [w/link (pr "you said: " (arg _ "foo"))
      (pr "click here")]
 (input "foo")
 (submit)))

もし Arc になじみがなければ、私のいうことを信じてもらうほかないが、これはコード上のトリックで圧縮したわけではない。
これが Arc で書くには標準的な書きかたなのだ。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5369日前に更新/41 KB
担当:undef