私はcsvファイルからテキストエントリを読み込み、配列に格納されているデフォルト値に対してテストしています。 Matlabでは私はisequal(w1,w2)
を使っていました。しかし、Juliaはより厳密であり、isequal
は常にfalse
を報告します。なぜ で、私は2つの変数のプロパティを調べました。 CSVファイルのデータの場合、typeof(w2)
はSubString{ASCIIString}
をレンダリングします。 w2[1]
レンダリングA
; typeof(w2[1])
レンダリングChar
; length(w2)
は23
をレンダリングします。デフォルトの配列の場合、typeof(w1)
はArray{ASCIIString,1}
をレンダリングします。 w1[1]
レンダリングAPP #2 bias voltage [V]
; typeof(w1[1])
レンダリングASCIIString
; length(w1)
は1
をレンダリングします。 したがって、私は一方ではChar変数、もう一方ではString変数を持っているかのように見えます。私は文書を見て、Char-> StringまたはString-> Charから変換関数をオンラインで検索しましたが、見つけられませんでした。 各変数の各テキスト文字をASCII相当の数値コードに変換する必要がありますか?または、文字列の文字をChar配列に詰め込む方法がありますか? ご協力いただければ幸いです。同じテキストのCharとString変数の等価性評価
答えて
問題は実際には非常に簡単で、文字列< - > Char変換とは関係ありません。
w1 = ["APP #2 bias voltage [V]"]
W2は、文字列の種類(ASCIIString
大きい単にサブストリング)ではないベクトルである: W1はASCIIString
のVector
、などすなわちものです。
あなたは簡単に行う必要があります:w1[1] == w2
。
注:文字列のベクトルと文字列のような2つのものを比較しようとすると、Juliaが何らかの「NotComparableError」を投げた場合は、いいかもしれません。ここで
を使用すると、CSVパーサから取り戻すようにジュリアのプロモーション規則は、異なるタイプの文字列間の比較(ASCIIString
、UTF16String
、UTF32String
、およびSubString{ASCIIString}
を処理する方法の例です。
julia> wasc = "APP #2 bias voltage [V]"
"APP #2 bias voltage [V]"
julia> w16 = utf16("APP #2 bias voltage [V]")
"APP #2 bias voltage [V]"
julia> w32 = utf32("APP #2 bias voltage [V]")
"APP #2 bias voltage [V]"
julia> wsub = SubString(wasc,1,length(wasc))
"APP #2 bias voltage [V]"
julia> wvec = ["APP #2 bias voltage [V]"]
1-element Array{ASCIIString,1}:
"APP #2 bias voltage [V]"
julia> wvec == wsub
false
julia> wvec[1] == wsub
true
julia> wvec[1] == w16
true
julia> wvec[1] == w32
true
julia> typeof(w32)
UTF32String
これは素晴らしい、ありがとう! "typeof(w2)"が単に 'string'ではなく 'substring'をレンダリングする理由がなければなりませんか? - 再度、感謝します。 – JuliaNewbie
'SubString'はパラメータ化された型で、大きな文字列のスライスをコピーせずに返します。 'ASCIIString'、' UTF8String'、 'UTF16String'、' UTF32String'のように抽象的な 'AbstractString'のサブタイプです。コピーすることなく、文字列の逆のビューを効率的に返す 'RevString'のように、いくつかのサブタイプがあります(v0.5では削除されることがあります)。 –
- 1. トリプル等価式評価
- 2. Nantでプロパティの等価性を評価する
- 3. javascriptでNaNの等価性を評価するには?
- 4. ASPxGridViewと評価(String)メソッド
- 5. 変数付きのXSL評価属性
- 6. ロードスクリプトの変数の評価
- 7. Clojureのマップと等価性
- 8. DTDとXMLSchemasの等価性
- 9. テキストフィールドの等価性
- 10. bash変数の再評価
- 11. クラス属性評価とジェネレータ
- 12. 同等のVBs - > C#:評価と実行
- 13. Linuxスケジューラの性能評価
- 14. サポートベクターマシンの評価性能
- 15. ハスケルの関数の等価性
- 16. PL SQL - 複数の列の等価性
- 17. javascriptの関数の等価性
- 18. Pythonのオブジェクトの等価性
- 19. cythonの "enumerate"の等価性
- 20. GridViewのasp:HiddenFieldの等価性
- 21. 変数の型と等価な配列
- 22. 同じ等価値を持つグループ行
- 23. sqlalchemy idの等価対参照の等価性
- 24. 評価関数
- 25. 評価引数
- 26. SQL STR()関数の等価性
- 27. OpenFlowコントローラの性能評価:信頼性の高い評価は何ですか?
- 28. 制約の等価性
- 29. Clojure独自の等価性
- 30. 従属レコードタイプの等価性
'マップ(X - > Char(x [1])、x) 'は、あなたのxベクトルから文字を返します – niczky12
ありがとうございます - " z1 = map(w1 - > Char(w1 [1])、w1)配列{Char、1}: 'A' "をレンダリングしますが、" isequal(z1、w2 [1] ) "はまだ"偽 "です 私は何を間違っていますか? ? – JuliaNewbie
私は_ [isequal(w1、w2)] _を使っていたものの代わりに_isequal(w1、[w2])_を使うことができます。ありがとう。 – JuliaNewbie