Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
New in v19 R Releases Part 2
Search
4D Japan
March 27, 2023
Technology
0
170
New in v19 R Releases Part 2
4D Japan
March 27, 2023
Tweet
Share
More Decks by 4D Japan
See All by 4D Japan
4D 20 R9
miyako
0
10
4D 20 R7 & R8
miyako
0
51
Unicodeの話 (2007)
miyako
0
20
Unicodeの話 (2008)
miyako
0
29
Google Apps Integration (2012)
miyako
0
28
Creating Custom Widgets (2012)
miyako
0
28
マルチスレッディングの仕組み (2016)
miyako
0
37
地図データの活用 (2016)
miyako
0
33
オブジェクトフィールド (2016)
miyako
0
17
Other Decks in Technology
See All in Technology
データ分析エージェント Socrates の育て方
na0
1
120
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
250
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
10k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
860
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
170
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
440
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
480
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Context Engineering - Making Every Token Count
addyosmani
3
51
Typedesign – Prime Four
hannesfritz
42
2.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Code Review Best Practice
trishagee
70
19k
Music & Morning Musume
bryan
46
6.8k
Scaling GitHub
holman
463
140k
Statistics for Hackers
jakevdp
799
220k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Documentation Writing (for coders)
carmenintech
74
5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Transcript
W E B I N A R W E E
K 2 4D v19 R Release
4D ϥϯήʔδ
ίϯϙʔωϯτͷΫϥεΛ ϗετ͔Β༻
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻ ϓϩδΣΫτϞʔυ όΠφϦʔσʔλϕʔε 👍 利⽤不可 💧 cs.myClass.new()
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻ binary host project components cs.myClass.new() 👍
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻ cs.myComponents.myClass.new() බࣈ ໊લ No Conflict! ໊લۭؒ
4Dϥϯήʔδ - ίϯϙʔωϯτͷΫϥεΛϗετ͔Β༻
ϧʔϓɺධՁɺ ͦͯ͠ෳ߹ೖԋࢉࢠ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ return continue break ϝιουͷ࣮ߦΛதࢭ͠ɺ ݺͼग़͠ݩͷϝιουͱ੍ޚΛ͢ ࣮ߦதͷϧʔϓΛதࢭ͠ɺ ϧʔϓޙͷίʔυͱ࣮ߦΛਐΊΔ
࣮ߦதͷϧʔϓͷݱࡏͷճ͚ͩΛதࢭ͠ɺ ࣍ͷճͷϧʔϓ͔ΒίʔυΛ࠶։͢Δ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ If ($value=1) & ($condition="good") If ($value=3) |
($condition="best") AND OR
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ If ($value=1) & ($condition="good") AND $value=3 False
👀
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ && || 必ずしも全ての オペランドを評価しない 式の値を返す ギ テ
キ チ 新敵地 True/Falseじゃないの? シンテキチ? 義的⾎?何それ? 全てを評価しないって どういうこと?
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ falsy(ِత) truthy(ਅత) False Null Undefined “”(ۭͷจࣈྻ) [](ۭͷίϨΫγϣϯ)
{}(ۭͷΦϒδΣΫτ) NullΦϒδΣΫτ΄͔ ͦΕҎ֎ͷ ͷ0ؚΉ !00-00-00!(ۭͷ) ?00:00:00?ؚΉ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ && || $result1:="Hello" && True && New
object $result2:=False || 0 || Null AND OR
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ If ($entity#Null) //NullͰͳ͍͔νΣοΫ If ($entity.value>10) //ΤϯςΟςΟʹରͯ͠ॲཧΛ͢Δ End
if End if
If (($entity#Null) && ($entity.value>10)) 4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ ΤϯςΟςΟ͕NullͳΒ͜͜ νΣοΫ͕͞Εͳ͍ͷͰΤϥʔ͕ى͖ͳ͍ γϯϓϧʂ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text If ($employee.phone#Null) $phone:=$employee.phone
Else $phone:="൪߸ͳ͠" End if
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text $phone:=$employee.phone || "൪߸ͳ͠"
👍
Null 4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text $phone:=$employee.phone ||
"൪߸ͳ͠"
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ var $phone : Text $phone:=$employee.phone || "൪߸ͳ͠"
γϯϓϧʂ “͑Δ”͔Ͳ͏͔ =“༻ੑ”Λݟ͍ͯΔ
falsyͷͱ͖ͷ 4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ ࡾ߲ԋࢉࢠ ݅ ? truthyͷͱ͖ͷ : $category:=($person.age>12)
? "େਓ" : "খਓ" //$personΤϯςΟςΟͷage͕12Λ͍͑ͯΔ͔Ͳ͏͔Ͱ͕۠มΘΔ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ $num:=$num+1 ෳ߹ೖԋࢉࢠ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ $num+=1 $num-=4 $num*=3 $num/=2
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ $text:="Hello" $text+=" World!" //$textʹ"Hello World!"͕ೖΔ $date:=Current date
$date+=3 //$dateʹ3ޙͷ͕ೖΔ $time:=Current time $time+=?01:00:00? //$timeʹ1࣌ؒޙͷ࣌ࠁ͕ೖΔ $time:=Current time $time-=100 //$timeʹ100ඵલͷ࣌ࠁ͕ೖΔ
4Dϥϯήʔδ - ϧʔϓɺධՁɺͦͯ͠ෳ߹ೖԋࢉࢠ •return/break/continueʹΑΓແବͳίʔυΛݮΒ͢ •truthy/falsy͓Αͼ&&/||ʹΑͬͯγϯϓϧͳධՁΛՄೳʹ •γϯϓϧͳIf…Elseࡾ߲ԋࢉࢠʹஔ͖͑Մೳ •ෳ߹ೖԋࢉࢠͰײతʹՃݮআ
Blobͱ4D.Blob ʙ৽࣌ʙ
4Dϥϯήʔδ - Blobͱ4D.Blob Blob 4D.Blob มߋՄೳ͔Ͳ͏͔ มߋՄೳ มߋෆՄ όΠτʹΞΫηε͢ΔࡍͷύϑΥʔϚϯε ྑ͍
ѱ͍ ࠷େαΠζ 2 GB ϝϞϦ ϝιουͳͲʹࢀরͱͯ͠͠ ෆՄ Մೳ ΦϒδΣΫτίϨΫγϣϯͰڞ༗Մೳ ෆՄ Մೳʂ
4Dϥϯήʔδ - Blobͱ4D.Blob Blob 4D.Blob มߋՄೳ͔Ͳ͏͔ มߋՄೳ มߋෆՄ όΠτʹΞΫηε͢ΔࡍͷύϑΥʔϚϯε ྑ͍
ѱ͍ ࠷େαΠζ 2 GB ϝϞϦ ϝιουͳͲʹࢀরͱͯ͠͠ ෆՄ Մೳ ΦϒδΣΫτίϨΫγϣϯͰڞ༗Մೳ ෆՄ Մೳʂ ΦϒδΣΫτʹ BlobΛؚΊΔ͜ͱ͕Ͱ͖Δʂ
4Dϥϯήʔδ - Blobͱ4D.Blob DELETE FROM BLOB INSERT IN BLOB INTEGER
TO BLOB LONGINT TO BLOB LIST TO BLOB REAL TO BLOB SET BLOB SIZE SOAP DECLARATION TEXT TO BLOB VARIABLE TO BLOB WEB SERVICE SET PARAMETER 4D.BlobΛαϙʔτ͠ͳ͍ίϚϯυ
ႠͤΑɺେ͖ͳ ʙLongͷนΛ͑ͯʙ
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_LONGINT($vLong) var $vlong : Integer 32 bit
± 2 ^ 31 -1 -(2 ^ 31) +1
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_LONGINT($vLong) var $vlong : Integer 32 bit
± -2147483647 2147483647
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
2 ^ 53 -1 -(2 ^ 53) +1 4Dϥϯήʔδ -
ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real 64 bit
-9,007,199,254,740,991 9,007,199,254,740,991 4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
64 bit ~
-9,007,199,254,740,991 9,007,199,254,740,991 4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ C_REAL($real) var $real : Real
64 bit ~
4Dϥϯήʔδ - ႠͤΑɺେ͖ͳ •৽͍͠σʔλλΠϓ͕Ճ͞Εͨ༁Ͱͳ͍ •C_LONGINTɺC_REALͷ࣮ԿมΘ͍ͬͯͳ͍ •খΛ༻͍ͯ͠ͳ͍ʹݶΓѻ͍͘͢ͳͬͨ •ʮ16ܻҎʯͰͳ͘Λ͑ͳ͍͜ͱ 64 bitܕͷओΩʔΛ࣋ͭ֎෦DBͱͷ࿈ܞ 👍
4Dϥϯήʔδ - ͦͷଞͷ৽ػೳ ϑΥʔϛϡϥΛίϨΫγϣϯίʔϧόοΫίϚϯυͰ༻ LZMA: ৽͍͠ѹॖΞϧΰϦζϜ ͞Ε͍ͯͳ͍ҾʹΞΫηε͢Δ
Thank you!