タグ付けされた質問 「tips」

特定の言語でゴルフするためのヒント、特定のチャレンジタグで上手くいく、または特定のコードを改善するための質問。

4
エリクサーでゴルフするためのヒント
Elixirは比較的新しい関数型言語であり、私はこれに深く関心を持っています。Elixirでのゴルフに関する一般的なヒントを取得し、Elixirに一般的ないくらか特有のコードゴルフ問題に適用できるテクニックを学びたいです。 Python、Ruby、Javascriptなどについての同様の多くの質問に基づいています。言語についてさらに学ぶときに、ヒントを投稿することも試みます。
8 code-golf  tips 

2
Javaの最も短い無限ループ文は何ですか?
私はJavaのゴルフに取り組んでおり、無限ループが必要です。明らかに、特にそのような表現力豊かな言語では、必要以上のバイトを使いたくないのです。 実行したいコードがあるとすると、ベースラインは明らかwhile(1>0)/*stmt*/に、1行に10文字while(1>0){/*stmt1*//*stmt2*/}以上、または複数行に12文字追加されています。私は永遠にループしたいコード(まあ、永遠のようです...ループから抜けたりループから戻ったりしたくないかもしれない)が特定の長さを持つため、追加の文字を追加する必要があります。実際にループさせるため。 最初はこれが最高だと思っていましたが、専門家にそれを捨ててもっと良いものを見つけられるかどうか確かめるつもりでした。
8 code-golf  tips  java 

1
ユーザーエージェントによるゴルフ
通常、インターネットチャレンジを実行する場合、ユーザーエージェントを指定する必要はありませんが、Googleを処理する場合は変更されます。 Googleはおそらくスパムボットを阻止するためにUrllibユーザーエージェントをブラックリストに登録しているため、ユーザーエージェントを指定する必要があります。これは多くのバイトを消費し、率直に言ってかなり面倒です。 例1. 例2. 例3。 注:以下のヒントを使用するようにPythonの回答を更新しました では、最短のバイト数を使用してこの問題をどのように回避しますか?

10
CoffeeScriptでのゴルフのヒント
CoffeeScriptコードを短くするために知っているトリックは何ですか。 CoffeeScriptは、JavaScriptにコンパイルする言語です(正確には、ES3に「トランスパイル」します)。黄金律は「それは単なるJavaScriptです」であり、実行時のオーバーヘッドはありません。ほとんどのJavaScriptのヒントとテクニックも適用されます。 副次的効果としては、次のことも意味します。JavaScriptを使用している開発者(自分自身を含む)は、より短いCoffeeScriptの代わりにJavaScript構成を使用する傾向があります。 このスレッドは、CoffeeScriptに固有のヒントに焦点を当てています。 関連トピックへのリンク: JavaScriptでのゴルフのヒント ECMAScript 6以降でのゴルフのヒント
8 code-golf  tips 

3
C#で数値の文字列表現をint []に変換する
数値の文字列表現をint[]各桁を含むに変換する最も短いC#ステートメントは何ですか? string number = "1234"; number.Array.ConvertAll(line.ToCharArray(), c => Int32.Parse(c.ToString())); number.ToCharArray().Select(i => Convert.ToInt32(i.ToString())).ToArray(); number.Select(i => Int32.Parse(i.ToString())).ToArray(); number.Select(i => i - '0').ToArray(); 誰かが私の最後のアプローチを倒すことができますか?
8 code-golf  tips  c# 

2
Pythonでの一般化整数キャスト
バックグラウンド Pythonに整数に変換したい文字列があります。通常、私は単に使用しますint: >>> int("123") 123 残念ながら、このメソッドは-?[0-9]+(先頭または末尾の空白を削除した後)一致する文字列のみを受け入れるため、あまり堅牢ではありません。たとえば、小数点付きの入力は処理できません。 >>> int("123.45") Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '123.45' そしてそれは確かにこれを処理することができません: >>> int("123abc?!") 一方、この動作は、Perl、PHP、そして謙虚なQBasicでさえ大騒ぎすることなく実現できます。 INT(VAL("123abc")) ' 123 質問 これがint、Python でのこの「一般化された」作業における私の最短の取り組みです。元の文字列が含まれs、結果が次のようになると想定すると、50バイトになりますi。 n="";i=0 for c in s: n+=c try:i=int(n) except:0 かなり単純ですが、try/ exceptビットは醜くて長いです。それを短くする方法はありますか? 細部 回答は次のすべてを行う必要があります。 …

3
`range(…)`のより短い代替案を探しています
私が取り組んでいるゴルフコードパズルについてこれまでに見つけた最良の解決策には、2つのかなり太っているような呼び出しがありrangeます。私はコードゴルフ、特にPythonが初めてなので、いくつかのヒントを使うことができます。 関連フラグメントはこれです [x for x in range(n+1,7**6)if`x`==`x`[::-1]*all(x%i for i in range(2,x))] 最初の上限はrange鋭いものではありません。それは少なくとも98690である必要があり、他のすべてが等しい場合(ゴルフの場合、つまり)、この上限と98690の差が小さいほど、パフォーマンスの点で優れています1。私が7 6(= 117649)を使用しているの7**6は、私が思いつくことができる最も短いPython式であり、それが法案に合うからです。 対照的に、range1つ目の下限と2つ目の下限はどちらもしっかりしています。IOW、これらの制限が変更されると、プログラム(現在の形式)は誤った結果を生成します。 式の一方または両方を短くする方法はありますか range(n+1,7**6) range(2,x) ? ところで、この場合range、たとえばへのエイリアスrは何も得ません: r=range;rr rangerange 編集:FWIW、完全なプログラムはこれです: p=lambda n:[x for x in range(n+1,7**6)if`x`==`x`[::-1]*all(x%i for i in range(2,x))][0] p(n)より大きい最小の回文素数である必要がありnます。また、p再帰的であってはなりません。警告:すでに卑猥に遅いです! 1はい、わかっています。コードゴルフではパフォーマンスは重要ではありませんが、それが私が「他のすべてが等しい(ゴルフに関しては)」と書いた理由です。たとえば、私が選択したのは7**6、すぐにはわかりませんが、パフォーマンスが低く、「ゴルフと同等の」代替手段9**9です。私は実際にコードゴルフの試行を実行するのが好きです。つまり、コードを実行するのに何年もかかるほどパフォーマンスが低下しないようにします。もちろん、私がそれを助けることができれば。

1
回文の素数
私はタスクを解決しています、ここで: 入力: 整数としての数値。 出力: 整数として最も近い大きい回文素数。 私は感謝のヒントを私の解決策を短くする方法。または、アプローチの変更が有益であるかどうかの指示。 golf=lambda l,r=range:next(x for x in r(10**6)if(x==int(`x`[::-1]))&all(x%d for d in r(2,x))and x>l) 回文: x==int(`x`[::-1]) プライム: all(x%d for d in r(2,x))

3
PHPゴルフのヒント:ファイルの読み書きとCLI
私はゴルフは最近、およびなどのファイルからデータを読み取るために使用されている技術のいくつかの課題PHPコードの数に参加しているfopen()とfread()か、file_get_contents()本当に私のコードchar型の数に打撃を与えます。特に、コマンドライン入力を読み込むために提供されるメソッド。 私の質問は、ファイルの内容を読み書きする最速の方法(最小キーストローク)と、プロンプトから行を読み込む最速の方法(最小キーストローク)は何ですか? (注:これはコードゴルフなので、外部ライブラリは使用できません。)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.