スレ立てるまでもない質問はここで 161匹目

■ このスレッドは過去ログ倉庫に格納されています
2022/08/27(土) 16:03:56.00ID:5336PvZW
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

次スレは>>980が立てること

【前スレ】
スレ立てるまでもない質問はここで 160匹目
https://mevius.5ch.net/test/read.cgi/tech/1652160275/
2022/09/12(月) 23:23:55.70ID:/ckPAnlx
>>91
割り算の筆算を思い浮かべれば分かるが、答えの一桁を求めるだけで複数回の(掛けるのは一桁だけど)掛け算の試行が必要(16個を先行して乗算しとけば良いとは思う)

少なくとも除算の高コスト(面倒くささ)は筆算から想像つかないか?乗算はシフトと加算だけで計算できる
2022/09/12(月) 23:25:14.58ID:q6xb21lZ
義務教育を履修していれば判るレベルの話だろ
2022/09/13(火) 12:55:34.23ID:xGF2ysI+
ttps://qiita.com/saka1_p/items/6400e5cedea0b3c286c9
元記事読めでFA
2022/09/13(火) 19:08:39.05ID:aae9uQ50
powershellスクリプトで文字列の置換をやりたいのですがうまくいきません。
「文字列の真ん中(先頭および文末以外)の部分に0が3回連続していたら-に置換」を
実現したいと思っていますが、上記を表す正規表現が見つからず困っています。
現状は以下のような状態です。

$str -replace "(.+)0{3,}(.+)","$1-$2"

わかる方いらっしゃいましたら教えていただけますと幸いです。
96デフォルトの名無しさん
垢版 |
2022/09/13(火) 19:26:14.75ID:58Qodj6j
Regular Expression(正規表現) Part16
https://mevius.5ch.net/test/read.cgi/tech/1635936601/
2022/09/13(火) 19:44:33.51ID:aae9uQ50
誘導ありがとうございます!スレ違いすみません、いってきます
98デフォルトの名無しさん
垢版 |
2022/09/13(火) 21:10:34.38ID:KrVBep+i
.NETのXmlSerializer使ったシリアライズ処理で
XmlElementAttribute等々使ってシリアライズ処理をカスタマイズできるけれど

List<T>型のプロパティを持つClassAをシリアライズしたら
<ClassA>
 <T>...</T>
 <T>...</T>
</ClassA>
な感じになるところを、<T>だけがズラっと並ぶようなシリアライズはできないもんでしょうか?
9998
垢版 |
2022/09/13(火) 21:12:04.58ID:KrVBep+i
間違えた
<ClassA>
 <プロパティ名>
  <T>...</T>
  <T>...</T>
 </プロパティ名>
</ClassA>

になるところを

<ClassA>
 <T>...</T>
 <T>...</T>
</ClassA>
になるように、ですわ
2022/09/13(火) 22:59:12.54ID:wteulEu6
ルールを定義して、変換器を作れば?
2022/09/14(水) 18:40:01.39ID:pKMHGYxI
IA-32環境のリバースエンジニアリング用デバッガだとOllyDbgとか有名だけど、AMD64環境だと何がよく使われるの?
2022/09/15(木) 23:08:22.83ID:wUYVNLcG
Web製作・・・とも思ったけどElectronとかTauriあたりのネタなのでこちらで
プログラムの出力結果(BITMAPやPCM)をGUIで表示&再生したんだけど
こういうときってWeb側はどんな感じにするのが定石なの?
動作はバッチ式(一括)じゃなくてパイプライン式(分割)にしたい。動画プレイヤーみたいな感じ
2022/09/16(金) 13:03:50.44ID:pgB81iJy
import FileSystemHandle from './FileSystemHandle.js'
const kAdapter = Symbol('adapter')
class FileSystemDirectoryHandle extends FileSystemHandle {
/** @type {FileSystemDirectoryHandle} */
[kAdapter]
constructor (adapter) {
super(adapter)
this[kAdapter] = adapter
}
 ・・・
}

というのがあったんだけど、 [kAdapter]やthis[kAdapter]の意味が分からない。
誰か教えてケロ。
2022/09/16(金) 13:06:33.10ID:pgB81iJy
>>103
これは、FileSystemDirectoryHandle の polyfill(ponyfill)。
場所は:https://github.com/jimmywarting/native-file-system-adapter
2022/09/16(金) 18:24:08.28ID:cJN3hfhk
web apiを作っていて、どのステータスコードを返せばいいのかで悩んでいます。
400番台と500番台の使い分けを、皆さんどのようにしていますでしょうか?

例えば、ユーザー情報を更新するAPIで
指定したユーザーIDの情報がDBに無い時、もしくは2件以上ある時、その他の論理状態がおかしい時。です。
以下のように400番台の理屈も、500番台の理屈も思いつくので、どちらが正しいかで悩んでいます。
ユーザー情報がない時に限れば404かなという気もしますが、その他の論理異常の時と同じにしたいという思いがあります。
サーバーからすれば「そのリクエストしたIDがおかしいんだからアプリが悪い。同じリクエスト投げても状況は変わらない」と言いたいのですが
この場合はクライアントサイドが原因なので400で良い気もする。

DBの状態が原因なんだから500エラーなのかなという気もするのですが、そうなると究極的には全部のエラーが500番台のエラーになる気もする。

そもそもDBに対象のユーザーIDが無い(複数ある、論理異常)時は明らかにバグだ。バグ前提で考えるのは良くない。
とすると、おかしいのはリクエスト。だから400番台。

と、自分の中でどっちが正しいのか悩んでいる状態です。
2022/09/16(金) 19:17:56.53ID:6w/ivPAn
>>105
素人だけどCGIとかの実行エラーなんだからそういうのは全部500番代だと思ってた
ファイルがないとかアク禁とかデーモン側のみでスクリプト抜きの話は400番代で
2022/09/16(金) 19:37:13.05ID:oAyMZKxN
400番台: クライアントに原因のあるエラー (送ったデータに不備ありなど)
500番台: サーバーに原因のあるエラー (データ仕様は正しいがサーバ側の処理が失敗したなど)
不正IDを送られた時に存在しないという結果を返すのはサーバー側から見たらそれが正しい動作なんだから送信側のエラー
2022/09/16(金) 19:42:58.69ID:oAyMZKxN
てか500て実行時エラーとかDBが落ちてるとか要求の受付時間外とかそういうのじゃない
2022/09/16(金) 21:34:41.48ID:Pdv1nxJ2
基本は>>107の書いてるようにクライアントとサーバーのどちらに原因があるか

指定したユーザーIDがDBにないのは400番台
指定したユーザーIDがDBに2件以上あるのがDB不整合の状態なら500番台

原因も対処方法が違うのに同じにしたいというのが間違い
2022/09/16(金) 23:14:26.88ID:R7zfJ/61
そもそもバリデーションエラーやら処理している段階でエラーみたいな内部的なものは
成功時は例えばstatus: 0とか返して正常終了を示す
失敗時はstatus: 1とか内部で設定したエラーコードを返すのが一般的では?
HTTPのエラーコードはwebサーバーなどの都合で発生したエラー用だと思うが
2022/09/16(金) 23:28:32.48ID:2cEUPRtN
APIが0を返したら正常終了とか古き良き香りになりにけり
RESTful APIならある程度はスタンダードに沿いつつ
ユーザーの責務が何で自分の責務が何かは仕事では必ず決めないといけないんだからそのノリで個々に線引きしていけばいい
112105
垢版 |
2022/09/17(土) 14:24:23.70ID:iAB+KSrH
>>106-
ありがとうございます。
DBにレコードが2件というのは例として不適切でしたが、
とりあえず400を積極的に使う事にします。
2022/09/17(土) 14:51:03.56ID:EEEbWrXO
> とりあえず400を積極的に使う事にします。
ダミだこりゃ
2022/09/17(土) 15:37:35.65ID:slnpqWSw
>>112
指定したユーザーIDの情報がDBにないという例のほうが論理異常の例として不適切なんだが
2022/09/18(日) 01:28:03.79ID:X0tGJ0Vt
>>103
その[kAdapter]は単なるクラスフィールド宣言
this[kAdapter]はそのフィールドへのアクセス
this.hogeがthis["hoge"]と同じことを思い出そう
そして今回はそのkAdapterをシンボルで与えているだけ
const kAdapter = Symbol('adapter')
2022/09/18(日) 19:43:36.43ID:fB0C0iJE
>>115
有難き幸せ。
constructor (adapter) {
 super(adapter)
 this.adapter = adapter;
}
と書くのとの違いは?
117デフォルトの名無しさん
垢版 |
2022/09/18(日) 22:12:40.14ID:VjUDO6tf
モバイルアプリで使うようなウェブサイトから画像持ってくるようなやつってURLとかのほうが表示速いのかね?
完全に趣味だけどウマ娘HPのHTMLに記されたsrcの文字を指定するだけですぐ反映されるんかな?
2022/09/19(月) 08:55:48.01ID:E2P5O1UU
>>116
違う
this["adapter"] ←これがthis.adapterと同じ
this[adapter] ←今回はこの形

ここで変数adapterが"adapter"なら同じだが
今回は変数adapterがSymbol("adapter")
つまり両者は異なる

>>117
CDNキャッシュの恩恵に預かれるから独自プロトコルで持ってくるとの比較ならば速くなりうる
119デフォルトの名無しさん
垢版 |
2022/09/19(月) 10:00:30.15ID:Guc0YHbo
>>118
なるほどサンクス
2022/09/19(月) 10:19:16.65ID:pZPXfhQS
画像が通信経路で勝手に再圧縮されてハッシュが一致しないエラーなんてのがあったな
2022/09/19(月) 10:48:36.99ID:9VJdPhWh
プロパティにSymbolを使っている理由はプライベートっぽく保護したいからじゃないかな
this.adapterだと外部から自由に読み書きできるけどthis[adapter]だとadapterの値にアクセスできない限り読み書きの手段がかなり限定される
2022/09/19(月) 12:02:31.85ID:knJx8Iiy
>>118
(あなたがadapter変数としているものは、今回の例では、kAdapter変数ということを
前提として)
kAdapter が変化するならわかるが、今回は
const kAdapter = Symbol('adapter')
と絶対に変化しない定数のようになっているので、結局、何がやりたいのだろうか?
俺はそもそも、Symbol オブジェクト(?)の役割が分かって無い。
2022/09/19(月) 12:04:04.35ID:knJx8Iiy
>>121
なるほど。
でも、そういうためだけの目的??
2022/09/19(月) 12:25:27.33ID:9VJdPhWh
Symbolはユニークなオブジェクトを作る
Symbol('adapter') != Symbol('adapter')
コンストラクタに渡す文字列はただの説明文
2022/09/19(月) 12:30:36.83ID:oXPlRBsf
Symbolの説明はとほほが分かりやすかった
https://www.tohoho-web.com/js/symbol.htm
2022/09/19(月) 13:30:34.01ID:knJx8Iiy
>>124
そもそも new Symbol("xxx") でなくて Symbol("xxx") と書く理由も
俺は分かってない。
127デフォルトの名無しさん
垢版 |
2022/09/19(月) 13:34:58.09ID:/08McGz8
new なしでクラスのインスタンス作れるというと Kotlin のようだな。
2022/09/19(月) 22:29:50.30ID:s9D2fBDK
new の有無が話題になるのは、JavaScript かな?
例えば、Number のnew の有無

Number() コンストラクターは、 Number オブジェクトを生成します。
new Number(value)

他の型の値は、Number() 関数を用いて数値に変換することができます。
Number('123') // 数値 123 を返す

つまり、newでインスタンスを作る。
new無しは変換関数
129128
垢版 |
2022/09/19(月) 22:36:56.77ID:s9D2fBDK
>>128
みたいな、ちょっとした書き方の違いで、様々な機能を実現しているから、JavaScript は難しい。
他にも、==, === の違いとか、一々調べないといけないから、時間の無駄

だから、Ruby の方が圧倒的に分かりやすくて、バグらない。
短時間で済む
130デフォルトの名無しさん
垢版 |
2022/09/19(月) 22:56:24.22ID:3GNptN3X
>>129
ただ、Rubyは
・ちゃんとしたローカル変数が作れない。
・ブロックが中括弧ではなく end などで終わったりして面倒。
 if 文の書き方が C言語と異なる。一方、JSは同じ。
・ブロックの書き方に統一感が無い。
・複数行コメントが簡単には書けない。
・Cの構造体の様なものが書きにくい。JSだと書ける。

JSはやりたい事が大体出来るようになっている。
ただし、Promiseなどがメンドクサイ。
2022/09/20(火) 00:19:25.28ID:u2od2H+V
>>130
>・ちゃんとしたローカル変数が作れない。
ちゃんとしたローカル変数って何?
2022/09/20(火) 13:00:38.92ID:A6jC1TrN
>>131
ブロックの中でのみ有効で、ブロックが終わると、外からは参照できない
変数の事。
2022/09/20(火) 13:50:20.93ID:Vc6tzv7n
>>132
それRubyは作れるでしょ
他の言語か何かと勘違いしてない?
2022/09/20(火) 16:42:07.32ID:pMOktr3q
>>133
Rubyは、関数スコープの変数は作れるが、ブロックスコープの変数は作れない
のでは。
2022/09/20(火) 16:47:31.05ID:D0AJnVXT
>>134
Rubyはブロックスコープあるからブロックローカルな変数作れるよ
作れないのはPythonとか
2022/09/20(火) 23:08:27.26ID:CPVobQYL
>>135
ほんまかいな。
2022/09/20(火) 23:09:52.94ID:Iq00CdpM
>>136
試せば秒でわかることやろ
2022/09/20(火) 23:09:56.53ID:/Bvo4oH4
Ruby のブロック変数・num, hash, abc にはスコープある。
ブロックには、do〜end と、{ } があって、前後の結合度の強弱が異なる。
each_with_object は蓄積変数・hash

ary = [ 1, 2 ]

num = "num"
hash = { a: 10 }
abc = "abc"

p res = ary.each_with_object( { } ) { |num, hash; abc|
num += 1
abc = num
hash[ abc ] = true
}
#=> {2=>true, 3=>true}

p num #=> "num"
p hash #=> {:a=>10}
p abc #=> "abc"
2022/09/21(水) 00:22:27.88ID:7Do5iWA5
正直Rubyの話題だとアイツかと思って身構えてしまってマトモに読む気にならん
2022/09/21(水) 08:15:26.69ID:LDkUg06y
テクスチャ圧縮フォーマットにはS3/BC系、ETC系、PVRTC系などいくつもあって
調べるとかつてはS3TCの特許で揉めたみたいな話も出てくるけど今の特許事情ってどうなっているの?
パテントフリーをうたっているASTCはともかく、他のも普通に使われているように見えるけど使用条件とかよく判らない
141デフォルトの名無しさん
垢版 |
2022/09/22(木) 06:49:00.65ID:56qGPhg8
GitHubとかスタックオーバーフローとかにあるコードを挿入できる入力フォームのコンポーネントの名前ってなんて言うんですか?
142デフォルトの名無しさん
垢版 |
2022/09/22(木) 07:23:09.30ID:w24JK7Wx
自己解決しました
リッチテキストエディタもしくはWYSIWYGエディタって言うんですね
2022/09/22(木) 09:46:10.14ID:XoRPEjFK
例えば、Ruby on Rails の作者・DHH がCTO を務める、Basecamp 社製のTrix は、

WYSIWYGを実現するリッチテキストエディタ
144デフォルトの名無しさん
垢版 |
2022/09/22(木) 10:59:10.80ID:u9/ouAZs
>>139
判ります
145デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:20:33.56ID:Z2WQupk3
>>144
誰?
146デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:24:08.08ID:Z2WQupk3
Rubyを推す人何人かいるけど
ほとんどの人がRubyしか知らない。
そんな人は何かを推す資格がないと思う。

普通はなにかを推すなら同類の複数のことを熟知していてそれを比べた中でこれがこういう理由でいいと推すものである。
147デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:27:18.05ID:Z2WQupk3
プログラミング言語の場合、
PHP, Python, Rubyのすべてに熟知しててそれでもRubyを推すならその人に対して聞く耳を持てるが
そうじゃないならその人は独断と偏見の強い人であり、物事を客観視できない人なんだなという印象しか持ち得ない。
148デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:28:22.37ID:Z2WQupk3
https://youtu.be/ipMC90r26uA
149デフォルトの名無しさん
垢版 |
2022/09/22(木) 13:37:16.04ID:u9/ouAZs
>>147
まさにこれ
2022/09/22(木) 13:48:15.74ID:z6cxsZX2
好きなの使えば良いとは思うけど現実的にRubyは使われなくなっているってだけの話なんだよなぁw
151デフォルトの名無しさん
垢版 |
2022/09/22(木) 14:12:44.24ID:UYzN1nQ5
別に推したい理由があるなら推せばいいんじゃね?
それで選択するのは質問者とかなんだし
152デフォルトの名無しさん
垢版 |
2022/09/22(木) 14:13:47.01ID:UYzN1nQ5
俺も.NET MAUI押してるけどFlutterとか知らない
だってDartとかいうクソ言語勉強したくないから
2022/09/22(木) 16:11:26.10ID:mhKEBERb
一つの言語しか知りませんよと宣言してそれを推すなら別にいいよ

>>130みたいに数時間学べば分かるようなことも知らずに特定の言語を下げるほうがどうかしてる
2022/09/22(木) 16:18:20.49ID:WTeW/iJy
自分はJS, Python, Ruby, Java, C#, Swift, Go, Rustその他諸々使えるけど
初心者がプログラミングを学ぶのにRubyから始めるのは今でもそこそこおすすめ

ただ仕事でRubyだけを継続的にやっていく状況ではなくなってるのは確かだから
最初に学ぶ1つの言語だけで長く仕事をやりたいみたいな考え方の人にはお勧めしない
155デフォルトの名無しさん
垢版 |
2022/09/22(木) 17:49:15.42ID:iVXru5E7
最近ファイアベースが持ち上げられてる感覚あるけどあれって無料なの?
無料じゃなければAWSやAzureの方がいいと思うんだがどうだろう?
2022/09/22(木) 18:14:58.97ID:EgZWqwyS
>>155
無料のサービスと従量課金のサービスがある
Webアプリやスマホアプリ向けに特化してて、用途によってはAWSやAzureより管理コストが低い
2022/09/22(木) 18:39:10.97ID:81hSOYnq
Firebase使うとクライアント側の開発だけで済ませられる
そのかわり安くはない
158デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:01:48.49ID:Fa2Vuxr9
iPhoneしか使ったことないのに
「AndroidとiPhoneどっがいいの?」の質問に
iPhoneと力説するハゲがいた。

わたしはAndroidしか使ったことはないが上記のような質問にどっちがいいと即答することはない。
159デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:39:27.32ID:qLW9OXP3
>>158
iphoneが良いから使ってる人に聞いて、iphoneという答えが返ってくるのは、当たり前では?
2022/09/22(木) 19:58:04.67ID:EqL6Qqki
マックしか食ったことの無い奴が世界で一番うまいのはマックだ~
って言ってるような滑稽さ
161デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:00:31.61ID:qLW9OXP3
マクドより旨いハンバーガ屋なんてロッテリアしかないだろ。
そしてロッテリアは宗教上の理由で食えないので、マクド一択。
2022/09/22(木) 20:03:14.78ID:z6cxsZX2
宗教上の理由ワロタw
俺もチョンテリアは同じ理由で無理だけどw
勿論ギャラクチョンも宗教上の理由で絶対に使わない
163デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:28:18.77ID:H/Y5WlVU
>>159
どちらがいいかを聞いているのに
一方しか知らずにいるのに回答するのが論理的でないと言っておるのだ。
164デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:31:01.05ID:H/Y5WlVU
わたしはモスバーガー(そのメニューでは特にテリヤキバーガー)が最高にものすごくうまいと思ってるが
どのバーガーが一番ですか?の問いには素直に分からないと言う。
だってドムドムバーガーなるものは食べたことがないから。
2022/09/22(木) 21:38:07.61ID:jZZ4CDei
「iPhoneしか使ったことない」人を勝手に「iphoneが良いから使ってる人」にすり替えてるのもよろしくないな
166デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:41:27.75ID:qLW9OXP3
ははーん、あんたモテないだろ?
2022/09/22(木) 22:38:21.06ID:b4qmPWCO
ちょっとしたツールやロジックの検証はRuby。実用はCかRust
Web系はあんま好きじゃないがJavaScriptを使わざるを得ない
2022/09/22(木) 22:47:41.25ID:Wl/eGnn7
>>166
反論できないから茶化して誤魔化そうってのは見苦しいね
2022/09/22(木) 23:53:39.87ID:XoRPEjFK
漏れは、10言語ぐらい使えるけど、Ruby on Rails がベスト

学習環境が良い。
高品質な教科書・ノウハウが多い。
ウェブ開発の技術を学べるので、他言語にも応用できる。
Rails, Bootstrap, jQuery だけで、原始的なレスポンシブのサイトを作れる

Elixir も書きやすいが、ノウハウが少ないため、高品質なライブラリが探せなくて、
皆で同じような低品質なモジュールを自作をするようになる

C/C++ はポインターがあるので、膨大な時間の無駄。
Java 土方は労働環境が悪い。客先・SES で中抜きされる。インターネット禁止。
JavaScript はクラスが出来るまでの、20年以上の言語の変遷を追っていくのが大変
2022/09/23(金) 00:12:12.31ID:LkhTrk/Q
こいつほど宗教臭さを感じさせるヤツもそうそういないな
2022/09/23(金) 00:35:12.38ID:974bIUrR
Rubyガイジ丸わかりだからなぁw
172デフォルトの名無しさん
垢版 |
2022/09/23(金) 01:15:22.17ID:gGLSN0ir
ウマ娘の公式サイトをHttpリクエストしたんだけどエラーが出る
何かそういう対策してんのかな?
2022/09/23(金) 05:34:15.07ID:exFn1ITS
>>170-171
いちいち相手すんなよ...
てかRubyでNGしとけ
2022/09/23(金) 11:03:51.05ID:I7ewjGHp
>>169
中抜きされるなら良いんじゃないの
ピンハネされるなら良くないけど
175デフォルトの名無しさん
垢版 |
2022/09/24(土) 12:59:46.39ID:/lLAu03F
文字列を定数化する意味ってあるんですか?
そのページでしか使わないんだから、そのまま書いた方が可読性いいと思うんですが
謎に定数ファイルを作って、そこに文字列を定義して、それを使う文化があります。
複数ページに同じ文面を使う場合もあるけど、それを変更される可能性があって
そのたびに定数ファイルに使いされてしまう。

俺は完全に無駄だと思ってるんだけど、
何か良いことがあったりするのだろうか?
2022/09/24(土) 13:28:22.71ID:h9hnlpzz
定数ファイルってのが外部化されたリソースファイルを指している前提で話すと
まず国際化がしやすい
さらにメッセージは変更のユーザー要求が発生しやすいことから以降のことが言える
文言しか変わってないことを担保しやすいのでテストのコストが抑えられる
場合によっては再ビルドを必要としないので機敏
コミットログ等も分離できるので変更の趣旨を追いやすい
国際化の目処が全くないなど、規模が小さいアプリほどメリットは小さくなると思う
2022/09/24(土) 15:06:55.96ID:wgmwIRyk
>>175
まともなプログラミング言語ならば
文字列は定数ならばtext segmentすなわちプログラミングコードと同じ読み取り専用エリアに配置されて有利です
一方で可変な文字列かつサイズ固定ならばdata segmentすなわに読み書き可能なエリアに配置されます
さらにサイズ可変な文字列はheap segmentつまり実行中に動的に確保するエリアに配置されて最もコストが高くなります
このような違いがあるため文字列は定数かどうか、可変の場合はサイズが固定なのかサイズまで可変なのかどうかが、非常に重要になってきます
178デフォルトの名無しさん
垢版 |
2022/09/24(土) 15:22:26.07ID:/lLAu03F
>>176
外部化してる、そのファイルを探して、修正項目も探すのがだるいんだよね
国際化しなければメリットないってことか
直接書いた方が修正楽だもんなぁ


>>177
効率考えると定数化したほうがいいんですね
でも、めんどいし分かりやすいから直接書いた方が修正するコストは下がると思うんだよね
エラーコードまで定数化する意味はないですよね?
例えば、200で返せばいいものを定数化してconst OK=200みたいにして
OKにするとか
2022/09/24(土) 15:34:17.24ID:TmEhV7P0
>>178
文字列を直接書くとか定数ファイルを使うとかいう話は、
その変な仕様の言語もしくは変なローカル規約のせいであって一般的な話じゃない。
そういう不便な状況になっているのがローカルな規約のせいなら規約を変えるべきであるし、
変な言語の仕様のせいならばその言語を変えるか、我慢して使い続けるしかない。
2022/09/24(土) 17:40:06.74ID:rKhoIQX5
>>138
Rubyで、{・・・} の方のブロックって、普通の場所にいきなり書けたっけ?
181138
垢版 |
2022/09/24(土) 22:26:05.79ID:L5pk3riv
Ruby でファイルのトップレベルでも、do〜end, { } を使える。
以下は両方とも、[2, 3] と出力される

VSCode の拡張機能・Code Runner で、
選択したコード片を右クリックメニューから実行する

ary = [ 1, 2 ]

p res_1 = ary.map { |num| num + 1 }

res_2 = ary.map do |num| num + 1; end
p res_2
2022/09/25(日) 01:00:22.88ID:7iyOFwBx
>>181
Rubyだけ特異な表記
ラムダ式(やクロージャや無名関数など)に対して多くの言語はその引数は中括弧ブロックの外に来る

例えばJavaScriptだと
let arr = [1, 2];
let res1 = arr.map(num => num + 1);
let res2 = arr.map(num => {
 return num + 1;
});

例えばRustだと
let arr = [1, 2];
let res1 = arr.map(|num| num + 1);
let res2 = arr.map(|num| {
 num + 1
});

このように全く異なるプログラミング言語でもほぼ同じ表記になる

mapはあくまでも関数だから丸括弧を取る
そしてmap関数の引数としてラムダ式(やクロージャや無名関数など)が来る
そして波括弧はそのラムダ式(やクロージャや無名関数など)の中身が複数行(今回の例のように1行でも可)の時にブロックとして用いる

特異な表記をしたり特異な解釈をするRubyは学習しない方がよいかもしれない
2022/09/25(日) 01:10:48.09ID:xiicOjyE
>>182
恥の上塗りやめて~~w
2022/09/25(日) 01:33:47.94ID:hevh/BVA
>>182
Rubyを学ぶと他の言語を学ぶ障害になるよな
Rubyは色んなことを省略しまくって記述するために色んなところが歪んでいる
2022/09/25(日) 02:20:38.19ID:gTVpeMPe
タイプ数を減らそうとする方針のプログラミング言語は消えていく
かつて一世を風靡したPerlは没落して消えた
Rubyも没落が激しく消えていく運命
2022/09/25(日) 02:22:17.85ID:kQGcz7Hc
Matzは尊敬してるけどRubyは好きではない
2022/09/25(日) 05:35:52.96ID:PDKGWlWe
おれは逆、Ruby自体はそこそこよく考えられた言語だと思うけどMatzは嫌い
2022/09/25(日) 07:03:41.72ID:eaSb619B
help コマンドを打つと

GNU bash, version 5.0.11(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally. Type `help' to see this list.
...

と出てきますがhelpを囲むものが左側はバッククォートで右側はアポストロフィなんですが何か理由がありますか?
2022/09/25(日) 07:35:27.62ID:fXZ+ASwp
日本語のカギカッコと同じで、右と左で違う記号で囲んでるだけ
プログラム的な話じゃなくて英語の話
2022/09/25(日) 09:56:39.66ID:gPkb1GyX
本当は‘で開いて’で閉じる(“で開いて”で閉じる)ものなんだけど
ASCIIの時は文字数をゴリゴリに節約したかったんでそれぞれを'と"に纏めちゃった
2022/09/25(日) 10:06:25.13ID:ggzfW2zp
‘ と ’なんだよな フォントの形が違って見えるだけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況