問題タブ [fixnum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
376 参照

arrays - Fixnum と nil の比較に失敗しました - 回文プログラム Ruby

私は Project Euler の質問 4 のプログラムに取り組んでいました - 3 桁の倍数の中で最大の回文を見つけます。これは私が書いたものです:

次のようなエラーが表示されました。

何が起こっているのかよくわかりません。プログラムの各コンポーネントをテストしましたが、正常に動作しているようです。どんな助けでも大歓迎です。

0 投票する
1 に答える
68 参照

arrays - 文字列を Fixnum に強制することはできません

この行にこのエラーがあります ( if change_needed - coins[i] >= 0 then )

文字列を Fixnum に強制することはできません

私のコードから、なぜそれが今うまくいかないのか理解できません。この問題を解決する最善の方法についての助けをいただければ幸いです。

0 投票する
2 に答える
149 参照

ruby - .to_s がこのコードを壊すのはなぜですか?

Codewars Ruby の問題に取り組んでいますが、表示されているエラーがわかりません。手順は次のとおりです。

階乗による 10 進数のコーディングは、階乗ではなく階乗に依存する基本システムで数値を書き出す方法です。このシステムでは、最後の桁は常に 0 で、基数は 0 です。その前の数字は 0 または 1 で、基数は 1! です。その前の数字は 0、1、または 2 のいずれかで、基数は 2 です。より一般的には、最後から n 番目の数字は常に 0、1、2、...、または n であり、基数は n! です。

例:10 進数の 463 は「341010」とコーディングされます。

なぜなら 463 (基数 10) = 3×5! +4×4!+1×3!+0×2!+1×1!+0×0!

数字 0 ~ 9 に制限されている場合、コード化できる最大の数字は 10 です。- 1.

したがって、0..9 を A から Z の文字で拡張します。これらの 36 桁を使用して、最大 36 までコード化できます。− 1 = 37199332678990121746799944815083519999999910 (基数 10)

2 つの関数をコーディングします。最初の関数は 10 進数をコーディングし、階乗表現の文字列を返します: "dec2FactString(nb)"

2 つ目は階乗表現で文字列をデコードし、10 進数表現を生成します: "factString2Dec(str)"。

与えられた数値は正になります。

ノート

Clojure、Python、Ruby、Haskel では Big Integer を使用したテストを期待できますが、「dec2FactString(nb)」の数値「nb」が最大長である Java などでは期待できません。

参照: http://en.wikipedia.org/wiki/Factorial_number_system

この方法は問題の前半に過ぎないことに注意してください。このコードは、このテストを使用すると Fixnum として正しい階乗を返す限り、機能しているように見えます。

命令は文字列を要求するので、通常は ".to_s" を num 変数に追加するだけで問題ないと思いますが、代わりに一貫した "String can't be coerced into Fixnum (TypeError)" が表示されます。 " エラーメッセージ。出力を配列にプッシュしてそこから印刷しようとしましたが、同じエラーが発生しました。

私はFixnumを少し読んで、Fixnumを文字列に追加するという点でエラーが機能しないことを理解していますが、この場合はそうしていないと思います-Fixnum出力を変換したいだけです文字列に。何か不足していますか?

観察 - このコードは壊れて、その下にエラーが発生します。

0 投票する
1 に答える
1188 参照

ruby - Ruby: pack("n") を整数で使用する

[5].pack("n")たとえば、使用する必要があることはわかっています。これにより、出力が生成されます"\x00\x05"

しかし、今は文字列の長さをパックしたいと思っています。私が使用する場合:

エラーが発生します

どうすればこれを修正できますか? "Hello".lengthすでに整数に変換しようとしました"Hello".length.to_iが、同じエラーが発生します。これを修正する方法はありますか?

0 投票する
2 に答える
237 参照

ruby - `+': nil を Fixnum に強制することはできません (TypeError)。Lucky_seven?(数字)

少し問題が発生しました。それは簡単だと思いますが、私の人生ではそれを理解することはできません。

このメソッドの機能は単純で、「数値」の配列を指定すると、連続する 3 つの数値の合計が 7 になる場合は true を返し、それ以外の場合は false を返します。

以下の私のコードは、最初の条件を完全に満たしています。これは、修飾された数値のセットが true を返すためです。私の問題は、数値の配列がコードで設定されたパラメーターを満たしていない場合、false ではなく、「+」のエラーが発生することです: nil can't be coerced into Fixnum (TypeError), どんなフィードバックでも役に立ちます。前もって感謝します。以下のコードを参照してください: * は問題の行です。

0 投票する
2 に答える
125 参照

ruby - 負の FixNum に相当する符号なし

負の FixNum の符号なし解釈を判断するにはどうすればよいですか?

次のような関数をどのように記述しますか。

または、次のようにします。

編集:文字列を介してこれを行うことができますが、解決策は満足のいくものではありません

0 投票する
1 に答える
610 参照

arrays - `+' nil を FixNum に強制することはできません (TypeError) はなくなりません

私は HTTParty を使用して stockfighter.io の API に接続し、株式の相場を取得しています。それから 1 株あたりの価格を抽出し、$averageArr配列の末尾に追加します。

常に更新される配列の最後の 5 つの値を平均化しようとしている$averageArrので、変数sumをゼロに設定し、最後の 5 つの値を追加してから 5 で割って、動的で変化する値を取得すると考えました。平均。

これが私のコードです:

45 行目 (コメント済み) で問題が発生しており、次のエラーが表示さFixNumnilます。

配列のスコープ外にアクセスしてインデックスを作成しようとしている可能性がありますが、それは問題ではないようです。どんな助けでも大歓迎です。