WEB+DB PRESS Vol.125

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

(2021年10月15日更新)

■ご注意
  • 本コーナーは,本誌記事参考用資料としてのご提供を目的としております。
  • 本誌記載の内容およびサポートサイトで公開しているサンプルコードに基づく運用の結果について,記事の筆者,プログラムの作者/提供元,(株)技術評論社は一切の責任を負いかねます。ご自身の責任のもと,ご使用ください。
  • 各サンプルファイル/ソースコードには,個別に,ライセンスやREADMEファイルなどで注意事項/制限事項が添付されている場合がございます。その場合,該当のライセンス,注意事項/制限事項を優先して適用とさせていただきますので,ダウンロード後,内容をご確認ください。

特集1「作って学ぶプログラミング言語のしくみ」

特集2「GraphQL完全ガイド」

特集3「速習DynamoDB」

一般記事「新登場! Scala 3クイックツアー」

連載

  • 「Goに入りては…… ── When In Go...」
    本記事で使用されたソースコード
  • 「現場のPython ── システム開発も! 機械学習も!」
    本記事で使用されたソースコード
  • 「PHPで複雑さに立ち向かう」
    本記事で使用されたソースコード(執筆者GitHubリポジトリ)
  • 「Perl Hackers Hub」
    本記事で使用されたソースコード

お詫びと訂正(正誤表)

本誌の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2021年11月15日最終更新)

特集1「作って学ぶプログラミング言語のしくみ」
第1章「プログラミング言語を知ろう」
P.17 「構文解析器──文字列を読み込んで、抽象構文木を作るソフトウェア」の2段落目のコード

(数式の木構造を表現したJavaプログラム)
sealed interface Tree
  permits Addition, Subtraction,
          Multiplication, Divition, Literal {}
// 足し算
class Add(Tree lhs, Tree rhs) implements Tree {}
// 引き算
class Subtract(Tree lhs, Tree rhs) implements Tree {}
// 掛け算
class Multiply(Tree lhs, Tree rhs) implements Tree {}
// 割り算
class Divide(Tree lhs, rhs) implements Tree {}
// 整数リテラル
class Literal(int value) implements Tree {}
(数式の木構造を表現したJavaプログラム)
sealed interface Tree
  permits Addition, Subtraction,
          Multiplication, Divition, Literal {}
// 足し算
record class Addition(Tree lhs, Tree rhs) implements Tree {}
// 引き算
record class Subtraction(Tree lhs, Tree rhs) implements Tree {}
// 掛け算
record class Multiplication(Tree lhs, Tree rhs) implements Tree {}
// 割り算
record class Divition(Tree lhs, rhs) implements Tree {}
// 整数リテラル
record class Literal(int value) implements Tree {}

第2章「インタプリタ」
P.27 「グローバル変数の定義」の1段落目のコード

(グローバル変数定義の抽象構文木クラス)
public final static record FunctionDefinition(
    String name, List args, Expression body
) implements TopLevel {}
public final static record FunctionCall(
    String name, List args
) implements Expression {}
(グローバル変数定義の抽象構文木クラス)
public final static record GlobalVariableDefinition(String name,
Expression expression) implements TopLevel {}

(以下2021年10月27日更新)

連載「現場のPython」P.132 右段 utils_before.pyの4行目

"""バイト文字列で渡されたfileをpathに保存する"""
"""バイト文字列で渡されたdataをpathに保存する"""

連載「現場のPython」P.132 右段 utils_after.pyの5行目

"""バイト文字列で渡されたfileをpathに保存する"""
"""バイト文字列で渡されたdataをpathに保存する"""

連載「現場のPython」P.134 図1

P.134 図1

fileをpathに修正しました。

連載「現場のPython」P.139 右段 欄外脚注

注13 https://github.co.jp/features/actions/
注13 https://github.co.jp/features/actions

※行末の/が不要です。

(以下2021年10月15日更新)

連載「現場のPython」P.133 左段 中ほど「◎静的型チェッカー mypyの導入」の3行目

本記事で利用したバージョンはPythonは3.10.0rc2、
本記事で利用したバージョンはPythonは3.10.0、

「rc2」が不要でした
記事執筆後,正式版がリリースされ,正式版でも動作を確認しました。

連載「現場のPython」P.138 左段 1行目

◎from __future__ import_annotationsを使用する
◎from __future__ import annotationsを使用する

「_」ではなく半角スペースが正しいです。

連載「現場のPython」P.138 左段 中ほどの出力例 3行目〜5行目


  File "non_lazy_annotations.py", line 2, in <module>
    class Hoge:
  File "non_lazy_annotations.py", line 3, in Hoge

  File "non_lazy_annotations.py", line 3, in <module>
    class Hoge:
  File "non_lazy_annotations.py", line 4, in Hoge

連載「現場のPython」P.138 右段 下の出力例 5行目


  File "foo.py", line 5, in <module>

  File "foo.py", line 4, in <module>