で定義されたリストに値を追加し、私が何をしtriyingだものは以下の通りです:スキーム
私はスキーム で辞書に値を追加しますので、私のように辞書を定義関数を作成する必要がありますリストのリストは、それは次のように:
(define Dictionary '(("key 1" "value 1") ("key 2" "value")))
を今すぐ値を加算する機能のために:
要素がnullでない場合、私はチェックまず第一要素はキーと値を持っていることをしようとする前にそれをリストに追加する
(define (addElement element mylist)
(cond
((null? elemment) 'The_Element_Is_Null)
((null? (cdr element)) 'The_Element_is_singleTon)
(#t (cons element mylist))
)
)
そして、それは次のようにそれを実行しよう:
(addElement '("key 3" "value 3") Dictionary)
とDrRacketが、それはそれがあったかのように短所を使用して値が表示されていることを、次の
(("key 3" "value 3") ("key 1" "value 1") ("key 2" "value"))
ノートを印刷したコードを実行リストに追加されますが、値は他の言語に似ていますが、これと同様のものを印刷することが可能です。
int i = 1;
print("value = "+ i + 5);
プログラムは
value = 6
を印刷する必要がありますが、現実には、変数の値は、同じように、私の辞書はちょうど新しい要素でリストを出力しますが、1、新しい値を取得し、このコードを実行されていませんさ要素は実際にリストに追加されていません
解決策の1つは、メソッドセットを使用しています! 、が実際に入力されたリストを更新しないをください:値を追加することが、私は同じ結果
スキームで(define (addElement element mylist)
(cond
((null? elemment) 'The_Element_Is_Null)
((null? (cdr element)) 'The_Element_is_singleTon)
(#t (set! myList(cons element mylist)))
)
)
この機能が辞書を修正するはずですか?古い辞書のような新しい辞書を返す関数を持たせるのは、はるかに一般的ですが、項目が追加されています。 (これは '' new-dict(add-element)( "this" "that")old-dict)のように使用されます) – molbdnilo
これは私が必要としていたものです –