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
190
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 21 LTS
miyako
0
3
4D 21
miyako
0
25
4D 20 R10
miyako
0
32
4D 20 R9
miyako
0
17
4D 20 R7 & R8
miyako
0
70
Unicodeの話 (2007)
miyako
0
26
Unicodeの話 (2008)
miyako
0
41
Google Apps Integration (2012)
miyako
0
37
Creating Custom Widgets (2012)
miyako
0
46
Other Decks in Technology
See All in Technology
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
3
13k
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
0
750
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
340
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
360
Phase01_AI座学_基礎
overflowinc
0
2.5k
スピンアウト講座03_CLAUDE-MDとSKILL-MD
overflowinc
0
780
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
3
310
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
200
Phase06_ClaudeCode実践
overflowinc
0
1.2k
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
10
6.3k
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
190
TypeScript 7.0の現在地と備え方
uhyo
7
2k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Marketing to machines
jonoalderson
1
5k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
210
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
410
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
A Soul's Torment
seathinner
5
2.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
100
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!