問題タブ [factor-lang]
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.
python - モバイル ネットワークがエンコーディングに与える影響は?
私はスマートフォンを持っています。このスマートフォンには、モバイル ホットスポットがあります。これは基本的に、携帯電話のインターネット アクセスをラップトップにパイプするポータブル WiFi ネットワークです。
私のラップトップには、Python 3 とrequests ライブラリがあります。ここでは Python を使用google.comし、私の携帯電話のホットスポットで を取得するように要求しています。(結果は、「実際の wifi」を使用してもまったく同じです。)
良い!すべてが計画通りに進んでいます。
また、私のラップトップには Factor があり、標準ライブラリに使いやすい wgetter があります。ここでhttp-getは、「通常の」WiFi ネットワークで作業しています。
成功!
うーん、ダメ。http-get私の電話のホットスポットで:
うーん。
そしてそれはGoogleだけではありません。http-getting Stack Overflow、または私の電話のネットワーク上の他のウェブサイトでも、かなり似たような結果が得られます。
その文字列を印刷する:
...
いいえ?あ、そうですね。
係数はデフォルトで 100% UTF-8 です。ISO-8859UTF-8 に変換できるはずです。実際、携帯電話のインターネットを使用していないときです。
モバイル サービス プロバイダーは、提供されるコンテンツに悪いものを挿入するという評判があることは知っています。しかし、エンコーディングが同じで、Python がそれらを同じように扱い、Python が同じエンコーディングを持っていると言った場合...ここで何が起こっているのでしょうか?
係数はHEADです。Python は 3.5 です。ラップトップは Ubuntu 15.10、Android は 5.1 です。おそらく最も重要なのは、私のモバイル サービス プロバイダーは StraightTalk です。
Python のデモンストレーションが示すように、通常、ページ コンテンツで問題が発生することはありません。
html - div のテキストを取得するにはどうすればよいですか?
html.parser.analyzerHTMLの操作方法は次のとおりです。
では、そのオブジェクトのテキストを取得するにはどうすればよいでしょうか? のようなものになるはずですAbout 53,000,000 results。html.parser.analyzerテキストを公開していないようです...?
編集:うーん:
ではなくp、divです。問題は、div のテキストを取得するにはどうすればよいかということです。
それほど単純ではありません。:(
image - Factor でビットマップ画像をレンダリングするには?
Factor プログラムでは、次のことを行います。
- プログラムで画像を描画します。
- 表示します。
- 何らかのファイルに保存します。
好ましい:
- ポータブル。
- 外部依存関係なし。
移植性がない場合は、Windows で動作するはずです。
外部依存関係がある場合は、自由に配布でき、バンドルが容易なもの (dll/so ファイルなど)。
画像がタプル class の場合image、(2) (表示) はuiand images.viewer` vocabs でカバーされます。
imageしかし、 を作成して描画したり、ラスター形式で出力したりする簡単な方法が見つかりません。
私は気にしません:
- ピクセルごとに描画する必要があるため、当面は単純な直線を描画するだけです。
- パフォーマンスが悪い。(ただし、まったくばかばかしいほどひどいパフォーマンスが問題になる可能性があります;)
Factor でこれを行う最も簡単な方法は何ですか?
sockets - 二重ストリームに書き込むにはどうすればよいですか?
のポートで接続を受け入れる超シンプルなソケット サーバーがあるとしますlocalhost。
そして、私はそれを次のように使用できます:
接続を待機します。ターミナルで:
次に、サーバーが応答するのを待ちます。server-newスタックにa を残しduplex-streamます。
クライアントに文字列を書き込みたい。どうすればいいですか?
with-stream答えは何かのようですが、それはストリームオブジェクトを消費するだけで、curlクライアントには何も書き込まれません。
sockets - 接続されたクライアントの IP アドレスを取得するにはどうすればよいですか?
次のような超シンプルなスレッド TCP サーバーがある場合:
これにより、テキストremote-addressがクライアントに出力されるだけで、非常に役立ちます。remote-addressはシンボルだからです...その値はどこにありますか? のドキュメントにremote-addressは次のように書かれています:
現在のクライアント接続のアドレス指定子を保持する変数。
そして<threaded-server>言うドキュメント:
スレッド化されたサーバー インスタンスのハンドラー スロットは、クライアント接続を処理するクォーテーションに設定する必要があります。クライアント ハンドラーは独自のスレッドで実行され、次の変数が再バインドされます。
• 入力ストリーム
• 出力ストリーム
• ローカルアドレス
•リモートアドレス
• スレッドサーバー
すごい!つまり、クライアントの IP を取得できます。
次に、関連しているように見えるAddress specifiersにリンクしますが、 からデータを取得する方法を明確に説明していませんremote-address。
クライアントの IP アドレスを取得するにはどうすればよいですか?
recursion - 複雑な再帰スタック効果?
上記のコードは、探しているリンクが見つかるまで、ウィキペディアのすべてのリンクを再帰します。
(うまくいけば)findpath最終的には「戻り」(つまり、自分自身を再度呼び出さない) ため、スタックに巨大なネストされたデータ構造が残るため、それは問題ありません。しかし、これをコンパイルしようとすると、unbalanced-recursionエラーが発生します。
再帰的な単語「findpath」は、スタックの高さが正しくありません
unbalanced-recursion: スタック効果の推論により、インライン再帰ワードに不適切なスタック効果宣言があると判断された場合にスローされます。
私が何をしようとも、Factor は (当然のことながら) スタック効果が一致しないと不平を言っています。これを適切に再帰させるにはどうすればよいですか?
arrays - 配列を破壊することでボア収縮を簡素化しますか?
次のような状況に陥ることがよくあります。
これは私が望む結果を達成しますが、これは:
破壊したい配列内のアイテムと同じ回数コピー/貼り付けする必要があり、配列は最初にベクトルにclone-like変換する必要がV{ }あります...それは本当にひどい、厄介なコードです. 3 [ dup pop swap ] times(スタック効果のため動作しませんのでご注意ください。)
TUPLE配列の項目からa のインスタンスを構築するためのより良い方法が必要です。それは何ですか?
factor-lang - 単語の拡張と引用のスコープ
Stretch the wordで再生するには、次の単語を定義して、この回答と同じ方法で問題に取り組みます。
stretch-word文字列内のその位置までに出現する回数だけ、文字列内の文字を繰り返すことになっています。ただし、私の実装では、取得した 1string のすべてのインスタンスを繰り返しています。
これは Factor で簡単に実装できると思いますが、よくわかりません。これを私が望むようにするにはどうすればよいですか?
factor-lang - 標準ライブラリからの語彙名のシャドウイング
あまり重要ではない理由ですが、ボキャブラリーに名前を付ける必要があり、そのテストを実行できるようにする必要があり、Factor の標準ライブラリーをシャドウする必要があります。hello-worldhello-world
私はこれをうまく行うことができませんでした (元に戻そうとしましvocab-rootsたが、違いはありませんでした)。出来ますか?
functor - ファンクターとは何ですか?なぜファンクターが必要なのですか?
Factor のfunctorがわかりません。「ファンクター」とは何かを最初に理解するのに役立つと思います。
Google は次のように述べています。
機能; オペレーター。
Factor では、すべての関数 (単語) は演算子であり、ファーストクラスです。(実際、Factor ではファーストクラスではないものはあまり思い浮かびません)。この定義はあまり役に立ちません。
ウィキペディアは次のように述べています。
Functor は以下を参照できます。
- ...
- コンピュータプログラミングでは:
- 関数ポインタをその状態とともに渡すために使用される関数オブジェクト
- ...
- Haskell では、Functor はマッピング操作を実行する関数の一般化を記述します
「関数オブジェクト」のページには次のように書かれています:
通常の関数であるかのように呼び出される、または呼び出されるオブジェクトで、通常は同じ構文 (関数にすることもできる関数パラメーター) を使用します。
では、ファンクターはファーストクラスの関数ですか? これは特別なことではありません。とにかく、言葉や引用などはすでに Factor の第一級のものです。
Factor Functor には、ジェネリックか何かを思い起こさせる奇妙な構文があります。
resource:unmaintained/models/combinators/templates/templates.factor :
これらに関するドキュメントは非常にまばらです。彼らは何ですか?いつ使用する必要がありますか?
